vector中怎么插入结构体 在线等...
#include "stdio.h "
#include <vector>
using namespace std;
struct mdata
{
int num;
int sum;
};
void main()
{
vector <mdata> A;
mdata b,c;
b.num=10;
b.sum=100;
c.num=1;
c.sum=11;
A.insert(A.end(),b);
A.insert(A.end(),c);
vector <int> a;
int i;
for(i=0;i <10;i++)
{
a.insert(a.end(),i);
printf( "%d \n ",a[i]);
}
}
如果是int型的就可以,可结构体就不行;程序虽然不报错,但是A容器中只有第一个插入的结构体,第二个没有。该怎样插入结构体?是否需要在结构体中定义自己的构造和析构函数等?请高手指教!
[解决办法]
#include "stdio.h "
#include <vector>
using namespace std;
struct mdata
{
int num;
int sum;
};
void main()
{
vector <mdata> A;
mdata b,c;
b.num=10;
b.sum=100;
c.num=1;
c.sum=11;
A.push_back(b);
A.push_back(c);
//printf( "%d\n ",)
b=*A.begin();
c=*(A.end()+1);
vector <int> a;
int i;
for(i=0;i <10;i++)
{
a.insert(a.end(),i);
printf( "%d \n ",a[i]);
}
}
你看看,我vc6能啊
[解决办法]
push_back()
木问题的
okokok