Freigeben über


Compilerfehler C3534

ein "neuer Ausdruck", dessen Typ "Auto" enthält, muss einen Initialisierer haben

Wenn ein neuer Ausdruck mit dem auto-Schlüsselwort und der standardmäßigen /Zc:auto-Compileroption verwendet wird, muss der new-Ausdruck einen Initialisierer angeben.

So beheben Sie diesen Fehler

  • Geben Sie einen Initialisiererausdruck für den new-Operator an.

Beispiel

Im folgenden Beispiel wird C3534 veranschaulicht. Die erste Deklaration erzeugt keinen Fehler, da sie einen direkten Initialisierer (0) mit dem Typ int aufweist. Die zweite Deklaration ergibt einen Fehler, da sie keinen Initialisierer aufweist. In der dritten Deklaration ergibt die zweite Verwendung des auto-Schlüsselworts einen Fehler, da der new-Operator nicht über einen Initialisierer verfügt.

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

Siehe auch

Referenz

Auto-Schlüsselwort

operator new (<new>)