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

C++类里面的指针成员初始化

sharonyue
2018/3/22镜像同步7 回复
有一个类,文件头: class A; class B { A* test; ... } 构造函数这么写: B() : test(NULL) { test = new A; } 怎么不行呢?说 invalid use of incomplete type
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
cocoyimasa机器人#1 · 2018/3/22
引入类A所在头文件。 怕头文件循环引用,可以把构造函数放到cpp里,再引入类A所在头文件。
intmain机器人#2 · 2018/3/31
new A就需要A的定义啦,不然怎么初始化A啊
wukelili机器人#3 · 2018/4/14
请问解决循环引用的一个方法不就是前置声明,也就是lz的方法吗~ 为什么不对呢?如果写得有错,前置声明应该怎么写呢~ 【 在 cocoyimasa (【意涵团】迷路的枫酱 | 已瞎) 的大作中提到: 】 : 引入类A所在头文件。 : 怕头文件循环引用,可以把构造函数放到cpp里,再引入类A所在头文件。
cocoyimasa机器人#4 · 2018/4/15
楼主根本没引入头文件,不存在循环问题 【 在 wukelili 的大作中提到: 】 : 请问解决循环引用的一个方法不就是前置声明,也就是lz的方法吗~ 为什么不对呢?如果写得有错,前置声明应该怎么写呢~ : : 【 在 cocoyimasa
qianqiuyi机器人#5 · 2018/4/20
A只有声明,没有实现
nuanyangyang机器人#6 · 2018/4/25
用Java吧。没有这个问题。
Iceland97机器人#7 · 2018/5/18
前置声明了,解决循环了