返回信息流class b;
class a{
b B;
};
class b{
int n;
};
为什么编译的时候报错:class b 没有被声明~
这是一条镜像帖。来源:北邮人论坛 / cpp / #38107同步于 2010/4/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
一个类包含另一个类的问题,求指点~
Windmoon
2010/4/17镜像同步25 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 Windmoon 的大作中提到: 】
: class b;
: class a{
: b B;
: ...................
struct b;
class a{
struct b sd;
};
struct b{
int ss;
};
也是一样~求指教~
应该把class b的定义(而不是声明) 写前面去
光声明是没有用的
class a里面调用b的时候
b还是没有定义,所以报错
另外这也不叫包含吧
a只是声明了一个class为b的对象B
【 在 Windmoon (Windmoon) 的大作中提到: 】
: class b;
: class a{
: b B;
: ...................
class b{
int n;
};
class a{
b B;
};
这个顺序
【 在 Windmoon (Windmoon) 的大作中提到: 】
: class b;
: class a{
: b B;
: ...................
【 在 Windmoon 的大作中提到: 】
: class b;
: class a{
: b B;
: ...................
其本质原因是因为 现在的c编译器大多是一遍的 所以导致无法识别
如果是多遍c编译器的话 那这个功能就完全可以支持 没半点问题
【 在 bullet 的大作中提到: 】
: 也可以这样吧
: class b;
: class a{
: ...................
这个跟lz那个可完全不同
因为指针的大小是可以确定的
【 在 jmpesp 的大作中提到: 】
: 其本质原因是因为 现在的c编译器大多是一遍的 所以导致无法识别
: 如果是多遍c编译器的话 那这个功能就完全可以支持 没半点问题
就是说对完整未定义的对象可以反复编译?