能一眼看出问题所在吗?
#pragma pack(push)
#pragma pack(1)struct test
{
public:
test(): name(0) {}
~test() {delete [] name;}
int a;
int aLen;
char* name;
};
#pragma pack(pop)
#define str1 "hello"
#define str2 "world"
int _tmain(int argc, _TCHAR* argv[])
{
vector<test> ltest;
test ltest1;
ltest1.a = 1;
ltest1.name = new char[12];
ltest1.aLen = sizeof(str1);
memcpy(ltest1.name, str1, sizeof(str1));
test ltest2;
ltest2.a = 2;
ltest2.name = new char[12];
ltest2.aLen = sizeof(str2);
memcpy(ltest2.name, str2, sizeof(str2));
ltest.push_back(ltest2);
ltest.push_back(ltest1);
return 0;
}