struct X
{
int a;
int b;
};
int f(X x)
{
return x.a + x.b;
}
int main()
{
int n = f({1, 2});
}
的Visual Studio 2012(十一月CTP)报道:为什么初始化列表不能用作参数?
error C2664: 'int f(const X &)' : cannot convert parameter 1 from
'initializer-list' to 'X'
Reason: cannot convert from 'initializer-list' to 'X'
Only an initializer-list with zero or one elements can be converted to this type
Build FAILED.
Clang 3.1和g ++ 4.7.2编译这段代码没有任何错误。 – soon
然后这似乎是一个VC++的bug,虽然它声明它已经支持这个功能。 – xmllmx
已知VC++在不同部分被打破 –