Compilerfehler C3533
'type': Ein Parameter darf keinen Typ haben, der "auto" enthält.
Eine Methode oder ein Vorlagenparameter kann nicht mit dem auto
Schlüsselwort (keyword) deklariert werden, wenn die Standardoption /Zc:auto compiler aktiv ist.
So beheben Sie diesen Fehler
- Entfernen Sie die
auto
Schlüsselwort (keyword) aus der Parameterdeklaration.
Beispiele
Im folgenden Beispiel wird C3533 generiert, da er einen Funktionsparameter mit dem auto
Schlüsselwort (keyword) deklariert und mit /Zc:auto kompiliert wird.
// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533
Im folgenden Beispiel wird C3533 im C++14-Modus generiert, da er einen Vorlagenparameter mit dem auto
Schlüsselwort (keyword) deklariert und mit /Zc:auto kompiliert wird. (In C++17 ist dies eine gültige Definition einer Klassenvorlage mit einem einzelnen Nichttypvorlagenparameter, dessen Typ abgeleitet ist.)
// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für