5
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.
4

2 に答える 2

2

Visual Studio 2012(11月CTP)レポート:

ベータコンパイラでもありません。それは動作するはずです。私はideaoneで動作しているあなたのコードにリンクしますが、このウェブサイトはそれをさせません。

バグレポートを提出してください。

于 2013-01-04T03:29:25.857 に答える
1

イニシャライザリストスタイルの構文をコンストラクタに渡したい場合は、std::initializer_list型をコンストラクタに渡す必要があります。{ }この型は、構文スタイルの構成が渡されると、型の配列を構成します。

于 2012-12-23T17:43:35.627 に答える