当类 B
的成员函数 func
试图返回一个时,我得到了一个错误:'func' 没有命名类型
C
类:
class A {
public:
class B {
public:
C func() const {
...
}
private:
friend class A;
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
然而,如果 func
是 A 的成员函数,则以下不会产生此错误:
class A {
public:
class B {
public:
...
private:
friend class A;
}
C func() const {
...
}
class C {
public:
...
private:
friend class A;
}
private:
...
}
如何修复它才能使第一个版本正常工作?
我找到了一个很好的例子 here .
最佳答案
在 B 类“之上”定义类 C,或转发声明它。
关于c++ - 如何在 C++ 中使用类函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457853/