给定一组整数:
setsetA = {1,2,3,4,5};
现在我想在一定条件下将整数插入整数向量:
vectorvectorB; for (set ::iterator it = setA.begin(); it != setB.end(); it++){ if (*it % 2 == 0){ }else{ vectorB.insert((*it)); count += 1; } }
但是我收到了一个错误:
error: no matching function for call to 'std::vector::insert(const int&)'
为什么?
正如其他人在评论中提到的那样,insert
在这种情况下你不应该使用,你应该使用push_back
vectorB.push_back(*it);
insert
如果存在要插入新元素的特定位置,通常会使用.如果您对将元素添加到特定位置不感兴趣,那么您可以使用push_back
(顾名思义)将元素添加到向量的末尾.