首页 新闻 搜索 专区 学院

c++结构体嵌套结构体

0
悬赏园豆:5 [待解决问题]

为什么运行成功,停止运行后会报错:引发了异常: 读取访问权限冲突。 _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++
aparadox的主页 aparadox | 初学一级 | 园豆:197
提问于:2021-05-01 21:43
< >
分享
所有回答(3)
0

先了解下C++中struct的使用?补充一下C++基础知识?

qls152 | 园豆:204 (菜鸟二级) | 2021-05-07 11:13

这个就是看完结构体嵌套视频之后自己打的,错误之后又去看视频里打的代码,但是没找出来哪里不对劲下〒▽〒

支持(0) 反对(0) aparadox | 园豆:197 (初学一级) | 2021-05-09 13:46

@aparadox: 你这个写是没毛病,运行退出后 会出错我没法复现(手头没有windowns环境),但要学习C++,就别看你现在这套视频了,这例子就是误人子弟。

既然要学习C++,就别用C那一套来写程序,struct在C++中可以和class一定程度画上等号,所以嵌套struct 不必写struct xxx xxx。

这视频简直误人子弟,去看看C++ Primer。

支持(0) 反对(1) qls152 | 园豆:204 (菜鸟二级) | 2021-05-10 14:37

@qls152: 噢!好的谢谢!

支持(0) 反对(0) aparadox | 园豆:197 (初学一级) | 2021-05-11 21:35
0

这能编译过?t1.name t1.stu.name 输出的时候不要加上.c_str()?

MyCPlusPlus | 园豆:43 (初学一级) | 2021-09-10 14:55

回去补下C++ 基础知识。又不是printf,为啥cout 不能打印string对象?

支持(0) 反对(0) 明明1109 | 园豆:213 (菜鸟二级) | 2021-11-11 14:01
0

VS2017 正常运行,结束也不会报错。

明明1109 | 园豆:213 (菜鸟二级) | 2021-11-11 14:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册