我使用clang编译器在C中使用Forward声明存在问题.这是我的代码.它将CReference成员中的数据指向为不完整类型.
请帮忙
请帮忙
class Internal; class CReference { private: Internal data; public: CReference () {} ~CReference (){} }; class Internal { public: Internal () {} ~Internal () {} };
解决方法
当编译器不需要类型的完整定义时,前向声明很有用.换句话说,如果您更改内部数据;内部*数据或内部&数据,它会工作.
使用内部数据;,编译器需要知道Internal的整个定义,才能创建CReference类的结构.