次のセットアップがあります(簡略化):
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
例外です)。
A
つまり、のメソッドからの現在のインスタンスB
、つまりインスタンス化されたインスタンスを取得する機会はありB b
ますか? それ以外の場合は参照を渡すだけなので、特にクリーンなソリューションを探しています。