【发布时间】:2013-02-01 14:59:35
【问题描述】:
我在 C++ 中创建了一个std::map<int, int>,我希望它们的键从最高到最低排序,而不是默认排序顺序。我的研究将我带到了std::greater,它看起来很有希望,但是在尝试使用它时出现编译错误:
一元“*”的类型参数无效(有“int”)
我的地图声明是:
std::map<int, int, std::greater<int> > numMap;
这个函数抛出了错误:
void Row::addNumber(int num, int pos) {
numMap.insert(num, pos);
}
this 等类似问题的答案在声明中包含括号,即 std::greater() - 但是当我包含这些问题时,我会收到关于函数返回函数的多个错误。
【问题讨论】:
-
你倒着看地图的问题不是解决了吗?只是说。
-
您是说使用
std::map的默认比较器时不会出现同样的错误吗?因为在这种情况下,这应该无关紧要。
标签: c++