次の方法で共有


コンパイラ エラー C2080

'identifier': 'type' の型は、単一の初期化式からのみ推測できます

解説

コンパイラは、宣言で直接リスト初期化を使用し、初期化子リストに 1 つの要素がある場合にのみ、型autodecltype(auto)を推測できます。

次の例は、C2080 の原因となるいくつかの宣言を示しています。

auto x1(1, 2);           // C2080
auto x2({4});            // C2080
decltype(auto) x3(1, 2); // C2080
decltype(auto) x4({4});  // C2080

この問題を解決するには、1 つの値初期化子を使用します。

auto x1 = 1;             // Valid
auto x2(1);              // Valid
decltype(auto) x3 = 1;   // Valid
decltype(auto) x4(1);    // Valid