Condividi tramite


Errore del compilatore C2080

'identifier': il tipo per 'type' può essere dedotto solo da una singola espressione di inizializzatore

Osservazioni:

Il compilatore può dedurre il tipo per auto o decltype(auto) se la dichiarazione usa l'inizializzazione diretta dell'elenco e l'inizializzatore-list ha un singolo elemento.

Esempio

L'esempio seguente illustra alcune dichiarazioni che causano C2080:

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

Per risolvere il problema, usare un singolo inizializzatore di valori:

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