有这个:
rtable.insert ( pair<string,string>(destination,nhop) ); // route insertion
return 0;
将其更改为:
if (rtable.insert ( pair<string,string>(destination,nhop)) == 0){
return 0;
}
第一个编译好。第二个给了我一个错误1.我可以整天来回 - 我看不出任何问题。有什么想法吗?
答案 0 :(得分:3)
std::map::insert()
的重载会返回std::pair<iterator, bool>
。你无法将其与零进行比较。
bool
元素告诉您是否插入了新元素;如果你想与之比较,你可以简单地使用:
if (rtable.insert(pair<string,string>(destination,nhop)).second)
return 0