C++ 我应该如何在向量中获取一系列输入?

C++ 我应该如何在向量中获取一系列输入?,c++,vector,C++,Vector,我使用了下面给定的函数inpvec,但它不起作用,因为当我在主函数中使用该函数时,没有使用迭代器的输出 #include <iostream> #include <vector> using namespace std; void inpvec(vector <int> a, int veclen){ int b; for(int i=0;i<veclen;i++){ cin>>b;

我使用了下面给定的函数inpvec,但它不起作用,因为当我在主函数中使用该函数时,没有使用迭代器的输出

 #include <iostream>
 #include <vector>
 using namespace std;

 void inpvec(vector <int> a, int veclen){
     int b;
     for(int i=0;i<veclen;i++){
         cin>>b;
         a.push_back(b);
     }
 }

 int main()
 {
     int n,j;
     cin >>n;
     vector <int> vac;
     vector <int> pat;
     vector <int>::iterator it;
     inpvec(vac, n);
     inpvec(pat, n);
     for(it=vac.begin();it!=vac.end();it++){
         cout<<*it<<" ";
     }
     for(it=pat.begin();it!=pat.end();it++){
         cout<<*it<<" ";
     }
     return 0;
 }
#包括
#包括
使用名称空间std;
无效输入向量(向量a,输入向量){
int b;
对于(int i=0;i>b;
a、 推回(b);
}
}
int main()
{
int n,j;
cin>>n;
向量vac;
向量pat;
向量::迭代器;
inpvec(真空,氮);
inpvec(pat,n);
for(it=vac.begin();it!=vac.end();it++){

cout您正在此处传递向量的副本:

void inpvec(vector <int> a, int veclen)
void inpvec(向量a,int veclen)
您需要通过引用传递它:

void inpvec(vector <int>& a, int veclen)
________________________^_______________
void inpvec(向量&a,int-veclen)
________________________^_______________

您正在此处传递向量的副本:

void inpvec(vector <int> a, int veclen)
void inpvec(向量a,int veclen)
您需要通过引用传递它:

void inpvec(vector <int>& a, int veclen)
________________________^_______________
void inpvec(向量&a,int-veclen)
________________________^_______________
您的功能

void inpvec(vector <int> a, int veclen)
你的职能

void inpvec(vector <int> a, int veclen)

你应该考虑花一些时间研究C++的类型和内存的性质:指针/引用与普通变量。尝试理解<代码> int b=1之间的差异;int a= b;a=2;<代码> >代码> int a=1;int *b= a;b=2;< /C++ >。内存:指针/引用与普通变量。试着理解
intb=1;inta=b;a=2;
inta=1;int*b=&a;b=2;
之间的区别。检查此项