【发布时间】:2013-10-18 14:33:29
【问题描述】:
我最近发现你不能同时在类初始化和初始化列表中。 以下代码失败:
struct s
{
int i=0;
};
int main() {
s s1; //s1.i = 0
//s s2={42}; //fails
return 0;
}
如果我删除类中的初始化,初始化列表就可以正常工作!
有人可以解释一下为什么不允许这样的事情吗?
【问题讨论】:
-
你确定你是在 C++11 模式下编译吗?编译器真的实现了吗?你有哪个编译器和它的什么版本?
标签: c++ c++11 initializer-list in-class-initialization