Partilhar via


Erro do compilador C2080

'identificador': o tipo para 'tipo' só pode ser deduzido de uma única expressão inicializadora

Observações

O compilador só pode deduzir o tipo para auto ou decltype(auto) se a declaração usa inicialização direta de lista e a lista de inicializadores tem um único elemento.

Exemplo

O exemplo a seguir mostra algumas declarações que causam C2080:

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

Para resolver o problema, use um único inicializador de valor:

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