C++ 简单更改会导致make:错误1
我们有:C++ 简单更改会导致make:错误1,c++,makefile,compilation,C++,Makefile,Compilation,我们有: rtable.insert ( pair<string,string>(destination,nhop) ); // route insertion return 0; rtable.insert(成对(目的地,nhop));//进路插入 返回0; 将其更改为: if (rtable.insert ( pair<string,string>(destination,nhop)) == 0){ return 0; } if(rtable.inser
rtable.insert ( pair<string,string>(destination,nhop) ); // route insertion
return 0;
rtable.insert(成对(目的地,nhop));//进路插入
返回0;
将其更改为:
if (rtable.insert ( pair<string,string>(destination,nhop)) == 0){
return 0;
}
if(rtable.insert(pair(destination,nhop))==0){
返回0;
}
第一个编译得很好。第二个给了我一个错误1。我可以整天来回走动--我看不到任何问题。有什么想法吗?std::map::insert()的重载返回一个
std::pair
。你无法将其与零进行比较
bool
元素告诉您是否插入了新元素;如果您想与之进行比较,您可以简单地使用:
if (rtable.insert(pair<string,string>(destination,nhop)).second)
return 0
if(rtable.insert(pair(destination,nhop)).second)
返回0
我读错了返回命令的文档。我应该仔细看看。谢谢