原因很清楚:ri不是类,命名空间或枚举.这是一个对象.
你需要的是在分号之前放置你使用typedef:type name.
map ::key_compare comp;
或(C++ 11)
decltype(ri)::key_compare comp;