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 (11月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.发布于 2013-01-04 11:29:26
Visual Studio2012(11月CTP)报告:
它甚至不是测试版编译器。它应该是有效的。我会链接到你在ideaone上工作的代码,但这个网站不会让你这么做的。
提交一个关于它的错误报告。
发布于 2012-12-24 01:43:36
如果你想把初始化器列表样式语法传递给你的构造函数,那么你必须把一个std::initializer_list类型传递给你的构造函数。然后,当传递{ }语法样式构造时,此类型将构造一个类型数组。
https://stackoverflow.com/questions/14013135
复制相似问题