无法在c ++中将集合的元素插入向量

yob*_*chi -11 c++ insert vector

给定一组整数:

set<int> setA = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

现在我想在一定条件下将整数插入整数向量:

vector<int> vectorB;
for (set<int>::iterator it = setA.begin(); it != setB.end(); it++){

      if (*it % 2 == 0){
      }else{
        vectorB.insert((*it));
        count += 1;
       }
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

error: no matching function for call to 'std::vector<int>::insert(const int&)'
Run Code Online (Sandbox Code Playgroud)

为什么?

Cor*_*mer 5

正如其他人在评论中提到的那样,insert在这种情况下你不应该使用,你应该使用push_back

vectorB.push_back(*it);
Run Code Online (Sandbox Code Playgroud)

insert如果存在要插入新元素的特定位置,通常会使用.如果您对将元素添加到特定位置不感兴趣,那么您可以使用push_back(顾名思义)将元素添加到向量的末尾.