在一个源文件中,要声明或定义一个类的指针时,必须在使用前声明或定义该类,因此下面的代码会报错:
class A{public: B *b;};class B{public: A *a;};int main(){ return 0;}
报错为“error: ‘B’ does not name a type”,就是因为在A类中使用B *b之前没有声明或定义B类,如果在第一行加上一句前置声明“class B;”,就不会有这样的问题了。
京公网安备 11010502049817号