1

列挙型名をC++の関数として使用するとどうなりますか?詳細を説明するために、次のコードスニペットを配置します

enum check{
    HELLO,
    HI,
    HOWDY,
    SALAM,
    SALOM,
    STOP
};

void main() {
    int p  = check();
    cout<<p;
}

クラスまたは構造体の場合、デフォルトのコンストラクターを呼び出す可能性があると推測できますが、列挙型はどうなりますか?

そして、それがコンストラクターのようなメソッドである場合、0を返しますか?'p'が0に設定されているためです。

4

1 に答える 1

2

値で初期化classされた(aまたはaのようにstruct)を使用して、checkコピーで初期化int、を返します0

そして明確にするために、あなたはそれを関数として使用していません、それは値の初期化のための構文です。

と同じように

int p = int();

タイプintを関数として使用していません。

于 2012-09-19T11:23:51.337 に答える