Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In den Artikeln in diesem Abschnitt der Dokumentation wird eine Teilmenge der vom Compiler generierten Fehlermeldungen erläutert.
Wichtig
Die Visual Studio-Compiler und -Buildtools können vielen Arten von Fehlern und Warnungen generieren. Nachdem ein Fehler oder eine Warnung erkannt wurde, können die Buildtools Annahmen über den beabsichtigten Zweck des Codes machen, und sie versuchen, den Code weiterhin auszuführen, sodass mehrere Probleme gleichzeitig gemeldet werden können. Wenn die Tools allerdings von falschen Annahmen ausgehen, sind spätere Fehler oder Warnungen möglicherweise nicht auf das Projekt anwendbar. Wenn Sie Probleme im Projekt beheben, sollten Sie immer mit dem ersten gemeldeten Problem (Fehler oder Warnung) beginnen, und häufig einen Rebuild für das Projekt ausführen. Durch eine Fehlerbehebung können möglicherweise viele nachfolgende Fehler behoben werden.
Um Hilfe zu einer bestimmten Diagnosenachricht in Visual Studio zu erhalten, wählen Sie sie im Fenster Ausgabe aus, und drücken Sie die Taste F1. Visual Studio öffnet die Dokumentationsseite für diesen Fehler, sofern vorhanden. Sie können auch das Suchtool oben auf der Seite verwenden, um Artikel zu bestimmten Fehlern oder Warnungen zu finden. Oder durchsuchen Sie die Liste der Fehler und Warnungen nach Tool und Typ im Inhaltsverzeichnis auf dieser Seite.
Hinweis
Nicht jeder Visual Studio-Fehler oder jede Warnung ist dokumentiert. In vielen Fällen sind bereits alle verfügbaren Informationen in der Fehlermeldung enthalten. Wenn Sie diese Seite erreicht haben, nachdem Sie F1 gedrückt haben, und der Ansicht sind, dass die Fehlermeldung oder Warnmeldung zusätzliche Erläuterungen benötigt, teilen Sie uns dies mit. Mithilfe der Feedbackschaltflächen auf dieser Seite können Sie ein Dokumentationsproblem auf GitHub melden. Wenn Sie glauben, dass der Fehler oder die Warnung falsch ist oder Sie ein weiteres Problem mit dem Toolset gefunden haben, melden Sie ein Produktproblem auf der Developer Community-Website. Sie können auch innerhalb der IDE Feedback senden und Fehler eingeben. Wechseln Sie in Visual Studio zur Menüleiste, und wählen Sie Hilfe > Feedback senden > Ein Problem melden aus, oder senden Sie einen Vorschlag über Hilfe > Feedback senden > Vorschlag senden. Es wurden einige Themen zu Compilerfehlern erstellt, die nicht vom Compiler ausgegeben werden und Sie jetzt stattdessen zu dieser Seite umleiten.
In Microsoft Learn Q&A-Foren finden Sie möglicherweise zusätzliche Unterstützung für Fehler und Warnungen. Oder suchen Sie auf der Website der Visual Studio C++-Developer Community nach der Fehler- oder Warnungsnummer. Sie können auch Stack Overflow nach Lösungen durchsuchen.
Links zu zusätzlichen Hilfe- und Communityressourcen finden Sie in der Hilfe und Community für Visual C++.
Fehlermeldungen
| Fehler | `Message` |
|---|---|
| Compilerfehler C3200 | 'type': Ungültiges Vorlagenargument für den Vorlagenparameter 'parameter'. Klassenvorlage erwartet |
| Compilerfehler C3201 | Die Vorlagenparameterliste für die Klassenvorlage 'template' stimmt nicht mit der Vorlagenparameterliste für den Vorlagenparameter 'parameter' überein. |
| Compilerfehler C3202 | 'identifier': ungültiges Standardargument, Klassenvorlage erwartet |
| Compilerfehler C3203 | 'identifier': Die nicht spezialisierte Klasse „Template/Generic“ kann nicht als Template/Generic-Argument für den Template/Generic-Parameter 'parameter' verwendet werden, es wird ein echter Typ erwartet |
| Compilerfehler C3204 | 'function' kann nicht innerhalb eines catch Blocks aufgerufen werden |
| Compilerfehler C3205 | Die Argumentenliste für den Vorlagenparameter 'identifier' fehlt |
| Compilerfehler C3206 | 'function': ungültige Vorlage/generisches Argument für 'template', fehlende Liste der Vorlage/generischen Argumente in der Klasse 'type' |
| Compilerfehler C3207 | 'function': Ungültiges Vorlagenargument für 'parameter' Klassenvorlage wurde erwartet |
| Compilerfehler C3208 | 'function': Die Vorlagenparameterliste für die Klassenvorlage 'template' stimmt nicht mit der Vorlagenparameterliste für den Vorlagenparameter 'parameter' überein |
| Compilerfehler C3209 | 'type': Die generische Klasse muss eine verwaltete/WinRT-Klasse sein |
| Compilerfehler C3210 | 'Identifier': Die Zugriffsdeklaration kann nur auf ein Basisklassenelement angewendet werden |
| Compilerfehler C3211 | 'function': Explizite Spezialisierung verwendet teilweise Spezialisierungssyntax. Verwenden Sie stattdessen template <> |
| Compilerfehler C3212 | 'function': Eine explizite Spezialisierung eines Vorlagenmembers muss ein Member einer expliziten Spezialisierung sein |
| Compilerfehler C3213 | Die Basisklasse class ist weniger zugänglich als "derived_class" |
| Compilerfehler C3214 | argument': Ungültiges Typargument für generischen Parameter 'parameter' von 'type' (generisch). Die Einschränkung 'constraint' wird nicht erfüllt |
| Compilerfehler C3215 | 'constraint1': generischer Typparameter, der bereits durch 'constraint2' eingeschränkt wurde |
| Compilerfehler C3216 | Die Einschränkung muss ein generischer Parameter sein, nicht 'type' |
| Compilerfehler C3217 | 'parameter': Der generische Parameter kann in dieser Deklaration nicht eingeschränkt werden |
| Compilerfehler C3218 | 'type': Typ ist nicht als Einschränkung zulässig |
| Compilerfehler C3219 | 'parameter':: Der generische Parameter kann nicht von mehreren Nichtschnittstellen eingeschränkt werden: 'type' |
| Compilerfehler C3220 | 'interface': Schnittstelle kann nicht progid haben |
| Compilerfehler C3221 | 'member': Mehrfache "default"- und "case"-Attribute sind bei einem Member nicht zulässig |
| Compilerfehler C3222 | 'function': Für Memberfunktionen eines verwalteten/WinRT Typs oder generische Funktionen können keine Standardargumente deklariert werden |
| Compilerfehler C3223 | 'property': 'typeid' kann nicht auf eine Eigenschaft angewendet werden |
| Compilerfehler C3224 | 'type': Keine überladene generische Klasse übernimmt 'number' generische Typargumente |
| Compilerfehler C3225 | Das generische Typargument für 'argument' kann nicht 'type' sein, es muss ein Werttyp oder ein Handle für einen Referenztyp sein |
| Compilerfehler C3226 | Innerhalb einer generischen Deklaration ist keine Vorlagendeklaration zulässig. |
| Compilerfehler C3227 | 'type': 'operator' kann nicht verwendet werden, um einen generischen Typ zuzuweisen |
| Compilerfehler C3228 | 'function': Das generische Typargument für 'argument' kann nicht 'type' sein, es muss ein Werttyp oder ein Handletyp sein |
| Compilerfehler C3229 | 'type': Dereferenzierungen für einen generischen Typparameter sind nicht zulässig |
| Compilerfehler C3230 | 'function': Das Vorlagentypargument für 'argument' kann keinen generischen Typparameter enthalten: 'type' |
| Compilerfehler C3231 | 'type': Das Vorlagentypargument kann keinen generischen Typparameter verwenden |
| Compilerfehler C3232 | 'parameter': Ein generischer Typparameter kann nicht in einem qualifizierten Namen verwendet werden |
| Compilerfehler C3233 | 'type': Der generische Typparameter wird bereits eingeschränkt |
| Compilerfehler C3234 | Eine generische Klasse kann nicht von einem generischen Typparameter abgeleitet werden. |
| Compilerfehler C3235 | 'specialization' Die explizite oder teilweise Spezialisierung einer generischen Klasse ist nicht zulässig |
| Compilerfehler C3236 | Die explizite Instanziierung von Generika ist nicht zulässig. |
| Compilerfehler C3237 | 'class': Eine generische Klasse kann kein benutzerdefiniertes Attribut sein |
| Compilerfehler C3238 | 'type': Ein Typ mit diesem Namen wurde bereits an die Assembly 'assembly' weitergeleitet |
| Compilerfehler C3239 | 'type': Zeiger auf inneren/festen Zeiger ist gemäß Common Language Runtime nicht zulässig |
| Compilerfehler C3240 | 'identifier': Muss eine nicht überladene, abstrakte Memberfunktion von 'type' sein |
| Compilerfehler C3241 | 'member': Diese Methode wurde nicht von 'interface' eingeführt |
| Compilerfehler C3242 | 'function': Sie können virtuelle Funktionen nur explizit überschreiben |
| Compilerfehler C3243 | Keine der überladenen Funktionen wurde von 'interface' eingeführt |
| Compilerfehler C3244 | 'member': Diese Methode wurde von 'interface1' eingeführt, nicht von 'interface2' |
| Compilerfehler C3245 | 'function': Für die Verwendung einer Variablenvorlage ist eine Vorlagenargumentliste erforderlich |
| Compilerfehler C3246 | 'class': kann nicht von 'base_class' erben, da sie als 'inheritance' deklariert wurde |
| Compilerfehler C3247 | "coclass": Eine Coclass kann nicht von einer anderen Coclass "base_class" erben |
| Compilerfehler C3248 | Veraltet. 'function': Eine als "__sealed" deklarierte Funktion kann nicht von 'function' überschrieben werden |
| Compilerfehler C3249 | ungültige Anweisung oder Unterausdruck für 'constexpr' Funktion (veraltet in Visual Studio 2022.) |
| Compilerfehler C3250 | 'declaration': Deklaration ist im Funktionstext 'constexpr' nicht zulässig (in Visual Studio 2022 veraltet.) |
| Compilerfehler C3251 | Die Basisklassenmethode für eine Werttypinstanz kann nicht aufgerufen werden (veraltet in Visual Studio 2022.) |
| Compilerfehler C3252 | 'function': Der Zugriff auf eine virtuelle Methode kann in einem verwalteten/WinRT-Typ nicht reduziert werden |
| Compilerfehler C3253 | 'function': Fehler bei der expliziten Überschreibung |
| Compilerfehler C3254 | 'function': Die Klasse enthält die explizite Überschreibung 'function', wird jedoch von keiner Schnittstelle abgeleitet, die die Funktionsdeklaration enthält |
| Compilerfehler C3255 | 'type': Werttypobjekt kann nicht dynamisch auf systemeigenem Heap zugeordnet werden |
| Compilerfehler C3256 | 'function': Die Verwendung von Variablen erzeugt keinen Konstantenausdruck (in Visual Studio 2022 veraltet.) |
| Compilerfehler C3257 | Veraltet. |
| Compilerfehler C3258 | Veraltet. |
| Compilerfehler C3259 | 'constexpr' Funktionen können nur eine return Anweisung haben (veraltet in Visual Studio 2022.) |
| Compilerfehler C3260 | 'token': Unerwartete Token vor Text der Lambdafunktion werden übersprungen |
| Compilerfehler C3261 | Eine Funktion, die ein verwaltetes/WinRT-Array zurückgibt, muss am Ende der Deklaration Arrayklammern aufweisen: 'identifier(...) []' |
| Compilerfehler C3262 | ungültige Arrayindizierung: number Dimensione angegeben für number-dimensionaler ' type' |
| Compilerfehler C3263 | Veraltet. |
| Compilerfehler C3264 | 'identifier': Ein Klassenkonstruktor kann keinen Rückgabetyp haben |
| Compilerfehler C3265 | Ein verwaltetes "managed_construct" kann nicht in einem nicht verwalteten "unmanaged_construct" deklariert werden |
| Compilerfehler C3266 | 'function': Ein Klassenkonstruktor muss eine 'void' -Parameterliste haben |
| Compilerfehler C3267 | Veraltet. |
| Compilerfehler C3268 | 'function': Eine generische Funktion oder eine Memberfunktion einer generischen Klasse darf keine Variablenparameterliste haben |
| Compilerfehler C3269 | 'function': Eine Memberfunktion eines verwalteten/ WinRT-Typs kann nicht mit '...' deklariert werden |
| Compilerfehler C3270 | 'field': Das FieldOffset Attribut kann nur im Kontext von StructLayout(LayoutKind::Explicit) benutzt werden |
| Compilerfehler C3271 | 'field': Ungültiger Wert 'number' für das FieldOffset Attribut |
| Compilerfehler C3272 | 'symbol': Das Symbol erfordert FieldOffset, da es sich um ein Element von Struktur/Klasse type_name mit StructLayout(LayoutKind::Explicit) handelt |
| Compilerfehler C3273 | 'keyword': Für C++ try-Block nicht zulässig |
| Compilerfehler C3274 | finally / __finally ohne übereinstimmende try |
| Compilerfehler C3275 | 'identifier': Dieses Symbol kann nicht ohne Qualifizierer verwendet werden (in Visual Studio 2022 veraltet.) |
| Compilerfehler C3276 | "keyword": Das Ausspringen aus finally/__finally Block hat während der Beendigungsbehandlung ein nicht definiertes Verhalten |
| Compilerfehler C3277 | Eine nicht verwaltete Enumeration 'enumeration' innerhalb des verwalteten 'type' kann nicht definiert werden |
| Compilerfehler C3278 | Direkter Aufruf der Schnittstellenmethode oder reinen Methode 'function' wird zur Laufzeit fehlschlagen |
| Compilerfehler C3279 | Teilweise oder explizite Spezialisierungen sowie explizite Instanziierungen von Klassenvorlagen, die im cli-Namespace deklariert sind, sind nicht zulässig. |
| Compilerfehler C3280 | 'function': Eine Memberfunktion eines verwalteten Typs kann nicht als eine nicht verwaltete Funktion kompiliert werden |
| Compilerfehler C3281 | 'function': Der globale Operator kann keinen verwalteten/WinRT-Typ 'type' in der Signatur aufweisen. |
| Compilerfehler C3282 | Generische Parameterlisten können nur in verwalteten/WinRT-Klassen, -Strukturen oder -Funktionen vorkommen. |
| Compilerfehler C3283 | 'interface': Eine Schnittstelle darf keinen Instanzenkonstruktor aufweisen |
| Compilerfehler C3284 | Die Einschränkungen für den generischen Parameter 'parameter' der 'declarator'-Funktion müssen mit den Einschränkungen für den generischen Parameter 'parameter' der 'declarator'-Funktion übereinstimmen. |
| Compilerfehler C3285 | Die For Each-Anweisung kann nicht bei Variablen vom Typ 'type' verwendet werden. |
| Compilerfehler C3286 | 'specifier': Eine Iterationsvariable darf keine Speicherklassenspezifizierer aufweisen. |
| Compilerfehler C3287 | der Typ 'type' (Rückgabetyp GetEnumerator) muss über eine geeignete öffentliche MoveNext Memberfunktion und öffentliche Current Eigenschaft verfügen. |
| Compilerfehler C3288 | 'type': Unzulässige Dereferenzierung eines Handletyps. |
| Compilerfehler C3289 | 'identifier': Eine trivial-Eigenschaft kann nicht indiziert werden |
| Compilerfehler C3290 | 'type': Eine trivial-Eigenschaft darf keinen Referenztyp aufweisen. |
| Compilerfehler C3291 | "default": Kann nicht der Name einer trivial-Eigenschaft sein. |
| Compilerfehler C3292 | Der cli-Namespace kann nicht erneut geöffnet werden. |
| Compilerfehler C3293 | 'identifier': Verwenden von 'default' für den Zugriff auf die Standardeigenschaft (Indexer) für die Klasse 'class' |
| Compilerfehler C3294 | Veraltet. |
| Compilerfehler C3295 | '#pragma specifier' kann nur im globalen Gültigkeitsbereich oder im Namespace-Gültigkeitsbereich verwendet werden. |
| Compilerfehler C3296 | 'identifier': Es ist bereits eine Eigenschaft mit diesem Namen vorhanden. |
| Compilerfehler C3297 | 'constraint2': 'constraint1' kann nicht als Einschränkung verwendet werden, da 'constraint1' die Werteinschränkung aufweist. |
| Compilerfehler C3298 | 'constraint1': 'constraint2' kann nicht als Einschränkung verwendet werden, da 'constraint2' die ref-Einschränkung und 'constraint1' die Werteinschränkung aufweist. |
| Compilerfehler C3299 | 'function': Einschränkungen können nicht angegeben werden, sie werden von der Basismethode geerbt. |
Weitere Informationen
C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerfehler C2000 bis C3999, C7000 bis C7999