C++编译器报了这样一个错误:
error: C99 designator ‘personName’ outside aggregate initializer
我的代码如下:
#include <iostream>
using namespace std;
typedef struct Person {
int age;
char personName[10];
char sex;
int score;
} Person ;
int main(){
Person person = { .age = 11, .personName = "111",.sex = '2',.score =22};
cout << person.sex <<endl;
cout << person.age <<endl;
cout << person.personName <<endl;
cout << person.score <<endl;
}
修改如下就不报错了:
#include <iostream>
using namespace std;
typedef struct Person {
int age;
char personName[10];
char sex;
int score;
} Person ;
int main(){
Person person = { .age = 11, .personName = "222222222",.sex = '2',.score =22};
cout << person.sex <<endl;
cout << person.age <<endl;
cout << person.personName <<endl;
cout << person.score <<endl;
}