有这样的情况:
rtable.insert ( pair<string,string>(destination,nhop) ); // route insertion
return 0;将其更改为:
if (rtable.insert ( pair<string,string>(destination,nhop)) == 0){
return 0;
}第一个编译正常。第二个错误给出了make error 1。我可以整天来回切换--我看不到任何问题。有什么想法吗?
发布于 2010-06-11 05:53:04
std::map::insert()重载返回一个std::pair<iterator, bool>。你不能把它和零做比较。
该bool元素告诉您是否插入了新元素;如果您想要与之进行比较,可以简单地使用:
if (rtable.insert(pair<string,string>(destination,nhop)).second)
return 0https://stackoverflow.com/questions/3018821
复制相似问题