函数将push_back值转换为c ++中的vector

时间:2014-02-16 12:35:01

标签: c++

我是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值。我的错误在哪里?

1 个答案:

答案 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是对此问题的简要解释。