Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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 .