2
は、時々私は、ネストされたクラスのためforeward宣言を使用します。前方宣言の誤った使用ですか?
class A;
class B
{
private:
A* object_A;
public:
B(){}
};
質問:私は今、クラスC
にuseageのクラスB
(B
を宣言し、この時点で定義されている)の宣言を前方に使用した場合はどうなりますか?クラスの前方宣言で使用されているので、これはクラスB
の問題を引き起こしますか?(メソッドの実装などで)定義されていますか?次のコードスニペットの構文class B;
は、以前宣言され、定義され、実装されたクラスB
を何らかの形で上書きしますか?
class B;
class C
{
private:
B* object_B;
public:
C(){}
};
どうかお試しください。 –
働くようです。しかし、おそらく私はすべての結果を見ていない。 – Lemonbonbon
「前方宣言の間違った使用」はありません。もしコンパイラが完全な型*を必要とするならば、それはあなたに伝えます。 – EJP