【发布时间】:2013-04-24 19:27:42
【问题描述】:
我有以下设置(简化):
class A {
public:
void doBar() { B b; b.bar(); }
private:
int foo;
class B {
public: void bar() { /* do somehting with foo */ }
};
};
现在,VS 告诉我:
非静态成员引用必须相对于特定对象
嗯,好吧,这听起来很合理。但是,由于此类 B 是 A 私有的,我可以确定它永远不会在 A 的(特定)实例的实例之外使用(好吧,A 的静态方法是一个例外)。
所以最重要的是,有没有机会从B 的方法中获取A 的当前实例,即实例化B b 的实例?我特别在寻找一个干净的解决方案,否则我只会传递参考。
【问题讨论】:
标签: c++