-2

問題を具体化するコードは次のとおりです。

class Apples {
    Apples() {
        color = 5;
    }
    int color;
};
Apples jonathan;
class Fruit {
    Fruit() {
        type = jonathan.color;
    }
    int type;
};

与えられたエラー: 'jonathan' が宣言されていません (最初にこの関数を使用してください)。

4

3 に答える 3

0

C ++
アップルジョナサンで。main内で宣言されています

int main()
{
    Apples jonathan;
}

現在、クラス内でオブジェクトのメソッド (jonathan.color) を呼び出していますが、これは不可能です。

于 2013-06-28T20:15:08.780 に答える
0

投稿した方法では、そのエラーは発生しません。それらが異なるファイルにある場合は、必要な部分がヘッダー ファイルにあることを確認し、必要なヘッダーを (#include で) インクルードするだけです。

于 2013-02-09T21:21:05.400 に答える
0

投稿したコードは、コンパイル時エラー (コンストラクターが非公開など) を引き起こします。したがって、これは実際のコードではありません。

ただし、グローバル変数を使用することは悪い習慣と見なされており、代わりにメンバー変数を使用し、必要に応じて参照を渡す必要があります。

Apple()コンストラクターはプライベートであることに注意してください。コンストラクタも同様ですFruit()

于 2013-02-09T21:23:27.113 に答える