Udostępnij za pomocą


Błąd kompilatora C2080

"identifier": typ "type" można wywnioskować tylko z pojedynczego wyrażenia inicjatora

Uwagi

Kompilator może wyjmować tylko typ auto dla lub decltype(auto) jeśli deklaracja używa bezpośredniej inicjowania listy, a inicjator-lista ma jeden element.

Przykład

W poniższym przykładzie przedstawiono niektóre deklaracje, które powodują C2080:

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

Aby rozwiązać ten problem, użyj inicjatora pojedynczej wartości:

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