我的标题听起来有点奇怪...... 但我的问题是...
class A{
public:
doSomething(B & b);
}
class B{
public:
doSomething(A & a);
}
这不应该工作吗??
我收到错误消息说函数不带 1 个参数 因为标识符(类)未定义...
最佳答案
类型需要在使用前声明。由于类之间存在相互依赖性,因此需要使用前向声明。
class B; // Forward declaration so that B can be used by reference and pointer
// but NOT by value.
class A{ public: doSomething(B & b); }
class B{ public: doSomething(A & a); }
请注意,这通常被认为是非常糟糕的设计,应尽可能避免。
关于c++ - (C++) 当两个类使用彼此的对象时,使用其他类的对象作为类中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17130017/