一段简单的C++程序,调试不出来

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:55:18
不知道该怎么该程序了,请各位高手帮帮忙
#include <iostream>
#include <vector>
using namespace std;

struct aa
{
int a;
double b;
bool c;
};
void initialvec(aa s,vector <aa> vec)
{
for(int i = 0; i < 10; i++ )
{
s.a = 1;
s.b = 2;
s.c = true;

vec.push_back(s);
}

}
void printvec(vector <aa> d)
{
for(int n = 0; n < d.size(); n++)
cout<<d[n].a<<d[n].b<<d[n].c<<endl;
}

int main()
{

aa bb;
vector<aa>vec;

initialvec(bb,vec);
printvec(vec);
return 0;
}
请高手指点一下我错在哪了

老问题,有是传值的问题:

修改如下;

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

struct aa
{
int a;
double b;
bool c;
};
void initialvec(aa s,vector<aa> &vec)
{
for(int i = 0; i < 10; i++ )
{
s.a = 1;
s.b = 2;
s.c = true;

vec.push_back(s);
}

}
void printvec(vector<aa> &d)
{
for(int n = 0; n < d.size(); n++)
cout<<d[n].a<<d[n].b<<d[n].c<<endl;
}

int main()
{

aa bb;
vector<aa>vec;

initialvec(bb,vec);
printvec(vec);
return 0;
}

这个是传引用。

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

struct aa
{
int a;
double b;
bool c;
};
void initialvec(aa s,vector <aa> & vec)
{
for(int