3

MSVC2013で以下をコンパイルしようとしています:

class SomeClass
{
    struct SomeStruct { bool a,b,c; };
    SomeStruct ss{false, false, false};
}

コンパイラは私に次のエラーを与えます:SomeClass::SomeStruct::SomeStruct: no overloaded function takes 3 arguments.

コードを次のように変更すると:

class SomeClass
{
    struct SomeStruct { bool a,b,c; };
    SomeStruct ss{{false, false, false}};
}

プログラムはコンパイルされ、正常に実行されます。これはコンパイラの問題ですか、それとも構文を理解していませんか? 私が読んでいることから、最初のバージョンはコンパイルされるはずです。

4

2 に答える 2