Partager via


Erreur du compilateur C2076

Une liste d’initialiseurs entre accolades ne peut pas être utilisée dans une nouvelle expression dont le type contient « auto/decltype(auto) »

Remarques

Si un auto spécificateur de type apparaît dans la séquence de spécificateur d’un nouvel identificateur de type ou de l’identificateur de type d’une new expression, l’expression doit contenir un initialiseur du formulaire ( assignment-expression ). Le compilateur déduit l’identificateur de type de l’initialiseur assignment-expression . Par exemple,

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*

Pour résoudre ce problème, utilisez des parenthèses pour placer la valeur d’initialisation de l’expression new .