1

新しい列挙型を作成しています:

enum WState {SLEEPING=2, WAITING_FOR_DATA=3, SENDING=4, IDLE=5, ERROR=6};

次に、その列挙型の変数をすぐにデフォルト状態に初期化しようとしています。

WState CurrentState = WState::ERROR;

正しい構文がわからないか、回答を検索する際に重要なキーワードがいくつか抜けている可能性があります。それは言います:

データ メンバー初期化子は許可されていません

ここに画像の説明を入力

4

1 に答える 1

1

C++11 では、あなたがしていることは許されます。ただし、C++03 では、クラス コンストラクターで初期化を実行する必要があります (以下に示すように、おそらく初期化リストで)。

class Wireless
{
public:
    enum WState { /* ... */, ERROR = 6 };
    WState CurrentState;
    Wireless() : CurrentState(WState::ERROR)
    { /* ... */ }

    // ...
};
于 2013-03-30T11:54:38.643 に答える