关于C++中struct结构体的问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 18:07:51
#include "stdafx.h"
#include <iostream.h>
#include <string>
#include <cstring>
using namespace std;

struct student
{
string name;
string age;
string address;
int achievement;
};

int main()
{
student a=
{
a.name="冷寒生",
a.age="16",
a.address="无";
a.achievement=80;
};
student b=
{
b.name="佚名";
b.age="17";
b.address="无";
b.achievement=90;
};
cout << a.achievement+b.achievement << endl;
return 0;
}

以上代码怎么在VC++ 6.0中编译通不过呢?

#include "stdafx.h"
#include <iostream.h>
#include <string>
#include <cstring>
using namespace std;

struct student
{
char name[10];
int age;
char address[40];
char achievement[8];
}
a[2]={ {"冷寒生",16,"无","80"},{"佚名",17,"无","90"} };
int main()
{

....
return 0;
}

以注释形式分析错误如下:

------------------------------

#include <iostream> // 如果用了std名字空间,最好不要包含.h的旧式头文件
//#include <string> // 没用的
#include <cstring>
using namespace std;

struct student
{
string name;
string age;
string address;
int achievement;
};

int main()
{
struct student a,b; // 数据类型是struct student,关键字struct不可省略,另外不能通过大括号形式初始化

a.name="冷寒生",
a.a