0
我有这样的代码的选项错误 “无效操作数的二进制表示”
class Options {
...
hash_map<string, Option> options;
private:
....
}
的XCode(这是我使用的IDE),标志着该地区“ITER
void Options::printHelp() {
hash_map<string, Option>::iterator iter;
for (iter = options.begin(); iter != options.end(); iter++) { //<- this one
cout << iter->first;
cout << "\t";
cout << iter->second.getDescription() << "\n";
}
}
定义!= options.end()“,并给我在标题中指定的错误。 我似乎无法弄清楚为什么。 (可选,顺便说一句,是一个小的容器类,可以容纳2个字符串和一个枚举)
为了上帝的缘故,使用typedef,你喜欢输入hash_map :: iterator,如果你需要改变容器类型搜索和替换到处? –
Slava
“选项”的完整定义是什么?如果你使用C++ 11,你可以使用'auto'让你的生活变得更容易。 – detunized
不是说这会解决你的问题,但你应该预先增加interators(++ iter)。 – IdeaHat