Partager via


Erreur du compilateur C3534

une « nouvelle expression » dont le type contient « auto » doit avoir un initialiseur

Si une expression new est utilisée avec le mot clé auto et l'option de compilateur par défaut /Zc:auto, l'expression new doit spécifier un initialiseur.

Pour corriger cette erreur

  • Spécifiez une expression d'initialiseur pour l'opérateur new.

Exemple

L'exemple suivant illustre C3534. La première déclaration ne donne pas d'erreur parce qu'elle contient un initialiseur direct (0) dont le type est int. La seconde déclaration donne une erreur parce qu'elle ne contient pas d'initialiseur. Dans la troisième déclaration, la deuxième utilisation du mot clé auto donne une erreur parce que l'opérateur new n'a pas d'initialiseur.

// C3534.cpp
// Compile with /Zc:auto
int main()
{
   new auto(0); 
   new auto();          // C3534
   auto x = new auto(); // C3534
   return 0;
}

Voir aussi

Référence

auto Keyword

operator new (<new>)