主题:一个简单C++代码,哪里错了?
下面的代码在VS2008里面顺利通过,为什么在VC++6.0里面就编译出错呢?跪求解释。
出现提示:
--------------------Configuration: VC6 - Win32 Debug--------------------
Compiling...
VC6.cpp
G:\编程练习\VC6\VC6.cpp(13) : error C2552: 'stu' : non-aggregates cannot be initialized with initializer list
执行 cl.exe 时出错.
VC6.exe - 1 error(s), 0 warning(s)
#include <iostream>
#include <string>
using namespace std;
struct student
{
int num;
string name;
char sex;
int age;
};
int main()
{
student stu={123,"hhuam",'M',24};
cout<<"num:\t"<<stu.num<<endl;
cout<<"name:\t"<<stu.name<<endl;
cout<<"sex:\t"<<stu.sex<<endl;
cout<<"age:\t"<<stu.age<<endl;
return 0;
}
出现提示:
--------------------Configuration: VC6 - Win32 Debug--------------------
Compiling...
VC6.cpp
G:\编程练习\VC6\VC6.cpp(13) : error C2552: 'stu' : non-aggregates cannot be initialized with initializer list
执行 cl.exe 时出错.
VC6.exe - 1 error(s), 0 warning(s)
#include <iostream>
#include <string>
using namespace std;
struct student
{
int num;
string name;
char sex;
int age;
};
int main()
{
student stu={123,"hhuam",'M',24};
cout<<"num:\t"<<stu.num<<endl;
cout<<"name:\t"<<stu.name<<endl;
cout<<"sex:\t"<<stu.sex<<endl;
cout<<"age:\t"<<stu.age<<endl;
return 0;
}