我是c ++的新手。我想创建push_back
值为vector的函数。
#include <vector>
#include <iostream>
using namespace std;
void pushVector ( vector <int> v, int value){
v.push_back(value);
}
int main(){
vector <int> intVector;
pushVector (intVector, 17);
cout << intVector.empty(); // 1
}
如您所见,我的函数在向量中没有push_back
值。我的错误在哪里?
答案 0 :(得分:3)
您需要通过引用将向量传递给函数。你编写函数的方式是在它的体内创建一个向量的副本,并且向量在函数之外保持不变。
#include <vector>
#include <iostream>
void pushVector ( vector <int>& v, int value){
v.push_back(value);
}
int main(){
vector <int> intVector;
pushVector (intVector, 17);
cout << intVector.empty() // 1
}
here是对此问题的简要解释。