【发布时间】:2014-06-04 10:46:18
【问题描述】:
我正在尝试使用 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}};
}
程序编译并运行良好。这是编译器的问题,还是我不懂语法?根据我一直在阅读的内容,第一个版本应该可以编译。
【问题讨论】:
-
你用的是什么编译器?这在
gcc 4.9和clang TRUNK上编译得很好。
标签: c++ c++11 initializer-list uniform-initialization in-class-initialization