为什么运行成功,停止运行后会报错:引发了异常: 读取访问权限冲突。 _Pnext 是 0xCCCCCCD0。
#include <iostream>
using namespace std;
#include <string>
struct Student {
string name;
int age;
};
struct teacher {
string name;
int age;
struct Student stu; //结构体Student类型,需要在teacher前定义
};
int main() {
struct teacher t1;
//= {
// "alice",
// 30,
// {"bob",12}
//}
t1.name = "alice";
t1.age = 30;
t1.stu.name = "bob";
t1.stu.age = 12;
cout << "teacher's name= " << t1.name
<< " teacher'age= " << t1.age
<< " student'sname= " << t1.stu.name
<< " student's age= " << t1.stu.age << endl;
system("pause");
return 0;
}
先了解下C++中struct的使用?补充一下C++基础知识?
这个就是看完结构体嵌套视频之后自己打的,错误之后又去看视频里打的代码,但是没找出来哪里不对劲下〒▽〒
@aparadox: 你这个写是没毛病,运行退出后 会出错我没法复现(手头没有windowns环境),但要学习C++,就别看你现在这套视频了,这例子就是误人子弟。
既然要学习C++,就别用C那一套来写程序,struct在C++中可以和class一定程度画上等号,所以嵌套struct 不必写struct xxx xxx。
这视频简直误人子弟,去看看C++ Primer。
@qls152: 噢!好的谢谢!
VS2017 正常运行,结束也不会报错。
VS2019 正常运行,结束也不会报错。