0

別のクラス内にクラス オブジェクトを作成できないシナリオがあります。シナリオは次のとおりです。

class base
{
public:
base();
~base();
int getbase(void){return baseVar;}
void setbase(int arg){baseVar = arg;}
private:
int baseVar;
};

class derived1 : public base
{
public:
derived1();
~derived1();
int getbase(void);
void setbase(int arg);
private:
int derVar1;
};

class derived2 : public base
{
public:
derived2();
~derived2();
int getbase(void);
void setbase(int arg);
private:
int derVar2;
};

class container
{
public:
container();
~container();

derived1 derObj1;
derived2 derObj2;

private:
int containerVar;
};

class usage
{
public:
usage();
~usage();
private:
container containerObj; // compilation error
int usegeVar;
};

コンパイル エラー: エラー C2146: 構文エラー: ';' がありません 識別子 'containerObj' エラー C4430 の前: 型指定子がありません - int と見なされます。注: C++ は default-int エラー C4430 をサポートしていません: 型指定子がありません - int が想定されています。注: C++ は default-int をサポートしていません。私は vc++ を使用しています。

このコンパイル エラーを修正する方法を教えてください。前もって感謝します。

4

1 に答える 1

0

空の VisualC++ 2k8 プロジェクトに貼り付けたコードをコピーすればOKです!

于 2012-05-26T18:41:32.087 に答える