今天写代码,首先声明一个结构体指针,结构体中嵌入的还有结构体,然后需要赋初值进行初始化,当时竟然懵的写下了如下被注释掉的初始化的代码,回来了自己用自己的电脑一写就明白了自己的沙雕行为。
#include <iostream>
using namespace std;
struct man
{
int chineseMan;
int englishMan;
int usaMan;
};
struct woman
{
int chineseWoman;
int englishWoman;
int usaWoman;
};
struct people
{
int chinese;
struct man Man[4];
struct woman Woman[4];
int english;
};
int main()
{
people* pPeople = nullptr;
pPeople->chinese = 100;
//以下方式会报错
/*pPeople->Man = {{100,99,98,93},
{100,99,98,93},
{100,99,98,93},
{100,99,98,93}};*/
pPeople->Man[0].chineseMan = 99;
//以下方式是对的
people pPeople = {100,
{{100,99,98},{100,99,98}},
{100,99,98},
100};
cout << pPeople.chinese << endl;
cout << pPeople.Man[0].chineseMan << endl;
cout << pPeople.Man[1].chineseMan << endl;
cout << pPeople.Man[0].englishMan << endl;
cout << pPeople.Man[1].englishMan << endl;
return 0;
}