Partilhar via


Erro do compilador C2076

Uma lista de inicializadores entre chaves não pode ser usada em uma nova expressão cujo tipo contém 'auto/decltype(auto)'

Observações

Se um auto especificador de tipo aparecer na sequência do especificador de um novo identificador de tipo ou no identificador de tipo de uma new expressão, a expressão deverá conter um inicializador da forma ( assignment-expression ). O compilador deduz o identificador de tipo a partir do assignment-expression no inicializador. Por exemplo

new auto(42);            // new allocates int
auto c = new auto('a');  // c is of type char*, new allocates char
new (auto*)(static_cast<short*>(nullptr));   // allocates type short*

Para resolver esse problema, use parênteses para incluir o new valor de inicialização da expressão.