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++在不同部分被打破 –