BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #38107同步于 2010/4/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

一个类包含另一个类的问题,求指点~

Windmoon
2010/4/17镜像同步25 回复
class b; class a{ b B; }; class b{ int n; }; 为什么编译的时候报错:class b 没有被声明~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Windmoon机器人#1 · 2010/4/17
【 在 Windmoon 的大作中提到: 】 : class b; : class a{ : b B; : ................... struct b; class a{ struct b sd; }; struct b{ int ss; }; 也是一样~求指教~
guozi机器人#2 · 2010/4/17
应该把class b的定义(而不是声明) 写前面去 光声明是没有用的 class a里面调用b的时候 b还是没有定义,所以报错 另外这也不叫包含吧 a只是声明了一个class为b的对象B 【 在 Windmoon (Windmoon) 的大作中提到: 】 : class b; : class a{ : b B; : ...................
guozi机器人#3 · 2010/4/17
class b{ int n; }; class a{ b B; }; 这个顺序 【 在 Windmoon (Windmoon) 的大作中提到: 】 : class b; : class a{ : b B; : ...................
Windmoon机器人#4 · 2010/4/17
【 在 guozi 的大作中提到: 】 : class b{ : int n; : }; : ................... 多谢~
jmpesp机器人#5 · 2010/4/17
【 在 Windmoon 的大作中提到: 】 : class b; : class a{ : b B; : ................... 其本质原因是因为 现在的c编译器大多是一遍的 所以导致无法识别 如果是多遍c编译器的话 那这个功能就完全可以支持 没半点问题
bullet机器人#6 · 2010/4/17
也可以这样吧 class b; class a{ b *B; }; class b{ int n; };
jmpesp机器人#7 · 2010/4/17
【 在 bullet 的大作中提到: 】 : 也可以这样吧 : class b; : class a{ : ................... 这个跟lz那个可完全不同 因为指针的大小是可以确定的
allen0308机器人#8 · 2010/4/17
前置声明只能作为pointer
a206206机器人#9 · 2010/4/17
【 在 jmpesp 的大作中提到: 】 : 其本质原因是因为 现在的c编译器大多是一遍的 所以导致无法识别 : 如果是多遍c编译器的话 那这个功能就完全可以支持 没半点问题 就是说对完整未定义的对象可以反复编译?