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)'
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 do formulário ( assignment-expression )
. O compilador deduz o identificador de assignment-expression
tipo do 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 valor de inicialização da new
expressão.