試作クラス使用C++プログラムが動かない原因
試しに作成した以下のプログラムにビルドエラーが発生し,困っているので質問しました.
コンパイラは,「BBB *b」などクラスポインタ変数の部分がエラーと指摘しているのですが(他にも数か所ありますが…),間違っている理由が分からず困ってます.
ご回答,よろしくお願い致します.
-----------------------------------
#include <iostream>
using namespace std;
class AAA
{
public:
// コンストラクタ
AAA(){
b = new BBB( this );
}
// デストラクタ
~AAA(){
delete b;
}
// メンバ変数
BBB *b;
int i;
// メンバ関数
void displayB(){
b->displayA();
}
};
class BBB
{
public:
// コンストラクタ
BBB( AAA *a ){
this->a = a;
}
// デストラクタ
~BBB(){}
// メンバ変数
AAA *a;
int j;
// メンバ関数
void displayA(){
printf( "%d\n", a->i );
}
};
int main()
{
// 変数の定義
AAA a;
// 変数の初期化
a.i = 2;
a.b->j = 5;
// 出力
printf( "%d\n", a.i );
a.b->displayA();
return 0;
}
-----------------------------------