在使用一个类之前,必须先将声明完整,如果没有完整的声明,就会出现“A class has incomplete type”错误。可以通过使用类的前置声明来解决这个问题。例如:
class MyClass; //前置声明
class AnotherClass { public: MyClass* myObject; //使用指针,这里的 MyClass 是不完整的 };
class MyClass //完整定义类 MyClass { public: int myVar; };
现在,AnotherClass 类可以正常使用 MyClass 了。