Compilerfehler C2300 bis C2399
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 C2300 | „class“: Die Klasse umfasst keinen Destruktor namens „~class“. |
Compilerfehler C2301 | Der linke Teil von „->~identifier“ muss auf eine Klasse/Struktur/Union zeigen. |
Compilerfehler C2302 | Der linke Teil von „.~identifier“ muss einen Klassen-/Struktur-/Unionstyp aufweisen. |
Compilerfehler C2303 | Die strukturierte Ausnahmebehandlung kann in einer Coroutine nicht verwendet werden. |
Compilerfehler C2304 | „keyword“ kann nicht innerhalb eines catch-Blocks verwendet werden. |
Compilerfehler C2305 | „file“ enthält keine Debuginformationen für dieses Modul. |
Compilerfehler C2306 | „file“ enthält nicht die aktuellen Debuginformationen für dieses Modul. |
Compilerfehler C2307 | Das Pragma directive muss sich außerhalb der Funktion befinden, wenn die inkrementelle Kompilierung aktiviert ist. |
Compilerfehler C2308 | Nicht übereinstimmende Zeichenfolgen werden verkettet. |
Compilerfehler C2309 | Der catch-Handler erwartet eine in Klammern gesetzte Ausnahmendeklaration. |
Compilerfehler C2310 | Der catch-Handler muss einen Typ angeben. |
Compilerfehler C2311 | „type“: Wird abgefangen von „...“ in Zeile number |
Compilerfehler C2312 | „type1“: Wird abgefangen von „type2“ in Zeile number |
Compilerfehler C2313 | „type1“: Wird abgefangen durch den Verweis („type2“) in Zeile number |
Compilerfehler C2314 | Das Schlüsselwort „keyword1“ ist veraltet: Verwenden Sie stattdessen „keyword2“. |
Compilerfehler C2315 | „type1“: Der Verweis wird von „type2“ in Zeile number abgefangen. |
Compilerfehler C2316 | „type“: Kann nicht abgefangen werden, da auf den Destruktor und/oder den Kopierkonstruktor nicht zugegriffen werden kann oder diese gelöscht wurden |
Compilerfehler C2317 | Der try-Block ab Zeile „number“ umfasst keine catch-Handler. |
Compilerfehler C2318 | Kein try-Block mit diesem catch-Handler verbunden |
Compilerfehler C2319 | Auf 'try/catch' muss eine zusammengesetzte Anweisung folgen. '{' fehlt |
Compilerfehler C2320 | Es wird erwartet, dass „:“ auf den Zugriffsspezifizierer „specifier“ folgt. |
Compilerfehler C2321 | „identifier“ ist ein Schlüsselwort und kann in diesem Kontext nicht verwendet werden. |
Compilerfehler C2322 | „identifier“: Die Adresse von dllimport „identifier“ ist nicht statisch. |
Compilerfehler C2323 | „identifier“: Die Nicht-Memberoperatorfunktionen „new“ bzw. „delete“ dürfen nicht als statisch oder in einem anderen Namespace als dem globalen Namespace deklariert werden. |
Compilerfehler C2324 | „identifier“: Nicht erwartet rechts neben „::~“ |
Compilerfehler C2325 | „type1“: Nicht erwarteter Typ rechts neben „->~“: Erwarteter Typ „type2“ |
Compilerfehler C2326 | „declarator“: Die Funktion kann nicht auf „identifier“ zugreifen. |
Compilerfehler C2327 | „identifier“: Ist kein Typname, nicht statisch und kein Enumerator |
Compilerfehler C2328 | „keyword“: Das Schlüsselwort wird noch nicht unterstützt. |
Compilerfehler C2329 | „identifier“: „__ptr64“ ist nicht für Zeiger auf Funktionen verfügbar. |
Compilerfehler C2330 | „implementation_key( )“ ist nur in einem Bereich gültig, der durch „#pragma start_map_region“ bzw. „#pragma stop_map_region“ eingeschlossen ist. |
Compilerfehler C2331 | Der Zugriff auf „identifier“ wurde jetzt als „accessibility1“ definiert, zuvor wurde er als „accessibility2“ definiert. |
Compilerfehler C2332 | „typedef“: Fehlender Tagname |
Compilerfehler C2333 | „function“: Es liegt ein Fehler in der Funktionsdeklaration vor. Der Funktionstext wird übersprungen. |
Compilerfehler C2334 | Unerwartete(s) Token vor „token“. Der sichtbare Funktionstext wird übersprungen. |
Compilerfehler C2335 | „identifier“: Ein Typ kann nicht in der Parameterliste einer Funktion eingeführt werden. |
Compilerfehler C2336 | „type“: Unzulässiger Typ |
Compilerfehler C2337 | „attribute“: Das Attribut wurde nicht gefunden. |
Compilerfehler C2338 | (Fehlermeldung vom externem Anbieter) |
Compilerfehler C2339 | „identifier“: Unzulässiger Typ in eingebetteter IDL |
Compilerfehler C2340 | „identifier“: „static“ kann nur innerhalb einer Klassendefinition verwendet werden. |
Compilerfehler C2341 | „section“: Das Segment muss vor der Verwendung mit „#pragma data_seg“, „#pragma code_seg“ oder „section“ definiert werden. |
Compilerfehler C2342 | Syntaxfehler: Die Typqualifizierer stehen in Konflikt. |
Compilerfehler C2343 | „section“: Die Abschnittsattribute stehen in Konflikt. |
Compilerfehler C2344 | align(number): Die Ausrichtung muss eine Potenz von 2 sein. |
Compilerfehler C2345 | align(number): Unzulässiger Ausrichtungswert |
Compilerfehler C2346 | „function“ kann nicht als nativ kompiliert werden: „explanation“ |
Compilerfehler C2347 | Veraltet. |
Compilerfehler C2348 | „type“: Ist kein Aggregat im C-Format und kann nicht in eingebetteter IDL exportiert werden |
Compilerfehler C2349 | „function“ kann nicht als verwaltete Funktion kompiliert werden: „explanation“; „#pragma unmanaged“ verwenden |
Compilerfehler C2350 | „identifier“ ist kein statisches Element. |
Compilerfehler C2351 | Veraltete Syntax für die Initialisierung eines C++-Konstruktors |
Compilerfehler C2352 | „identifier“: Unzulässiger Aufruf einer nicht statischen Memberfunktion |
Compilerfehler C2353 | Ausnahmespezifikation nicht zulässig |
Compilerfehler C2354 | Veraltet. |
Compilerfehler C2355 | „this“: Nur innerhalb nicht statischer Memberfunktionen oder nicht statischer Datenmemberinitialisierer verfügbar. |
Compilerfehler C2356 | Initialisierungssegment darf während der Übersetzungseinheit nicht geändert werden. |
Compilerfehler C2357 | „identifier“: Muss eine Funktion vom Typ „type“ sein |
Compilerfehler C2358 | „identifier“: Eine statische Eigenschaft kann nicht außerhalb einer Klassendefinition definiert werden. |
Compilerfehler C2359 | Veraltet. |
Compilerfehler C2360 | Die Initialisierung von „identifier“ wird von der Bezeichnung „case“ übersprungen. |
Compilerfehler C2361 | Die Initialisierung von „identifier“ wird von der Bezeichnung „default“ übersprungen. |
Compilerfehler C2362 | Die Initialisierung von „identifier“ wird von „goto Bezeichnung“ übersprungen. |
Compilerfehler C2363 | Die inhärente numerische limit-Funktion des Compilers erfordert ein Zeichenfolgenliteral-Argument. |
Compilerfehler C2364 | „type“: Unzulässiger Typ für das benutzerdefinierte Attribut |
Compilerfehler C2365 | „member1“: Neudefinition; vorherige Definition war „member2“ |
Compilerfehler C2366 | „identifier“: Neudefinition; unterschiedlicher implementation_key-Spezifizierer |
Compilerfehler C2367 | Veraltet. |
Compilerfehler C2368 | „identifier“: Neudefinition; unterschiedliche allocation-Spezifizierer |
Compilerfehler C2369 | „identifier“: Neudefinition; unterschiedliche Feldindizes |
Compilerfehler C2370 | „identifier“: Neudefinition; unterschiedliche Speicherklassen |
Compilerfehler C2371 | „identifier“: Neudefinition; unterschiedliche Basistypen |
Compilerfehler C2372 | „identifier“: Neudefinition; unterschiedliche Dereferenzierungstypen |
Compilerfehler C2373 | „identifier“: Neudefinition; unterschiedliche Typmodifizierer |
Compilerfehler C2374 | „identifier“: Neudefinition; Mehrfachinitialisierung |
Compilerfehler C2375 | „identifier“: Neudefinition; unterschiedliche Bindung |
Compilerfehler C2376 | „identifier“: Neudefinition; unterschiedliche based-Zuordnung |
Compilerfehler C2377 | „identifier“: Neudefinition; „typedef“ kann nicht mit einem anderen Symbol überladen werden |
Compilerfehler C2378 | „identifier“: Neudefinition; Symbol kann nicht mit „typedef“ überladen werden |
Compilerfehler C2379 | Der formale Parameter number weist nach der Höherstufung einen anderen Typ auf. |
Compilerfehler C2380 | Typ(en) vor „identifier“ – Konstruktor mit Ergebnistyp oder unzulässige Neudefinition eines Klassennamens? |
Compilerfehler C2381 | „identifier“: Neudefinition; „__declspec(noreturn)“ oder "[[noreturn]]" unterscheiden sich. |
Compilerfehler C2382 | „identifier“: Neudefinition; unterschiedliche Ausnahmespezifikationen |
Compilerfehler C2383 | „identifier“: Für dieses Symbol sind Standardargumente nicht zulässig. |
Compilerfehler C2384 | „member“: „thread_local“ oder „__declspec(thread)“ kann nicht auf einen Member einer verwalteten Klasse oder WinRT-Klasse angewendet werden. |
Compilerfehler C2385 | Mehrdeutiger Zugriff von „member“ |
Compilerfehler C2386 | „identifier“: Ein Symbol mit diesem Namen ist bereits im aktuellen Gültigkeitsbereich vorhanden. |
Compilerfehler C2387 | „identifier“: Mehrdeutige Basisklasse |
Compilerfehler C2388 | „identifier“: Ein Symbol kann nicht mit „__declspec(appdomain)“ und „__declspec(process)“ gleichzeitig deklariert werden. |
Compilerfehler C2389 | „operator“: Ungültiger Operand „nullptr“ |
Compilerfehler C2390 | „identifier“: Falsche Speicherklasse „specifier“ |
Compilerfehler C2391 | „identifier“: „friend“ innerhalb von Typdefinitionen nicht zulässig |
Compilerfehler C2392 | „member1“: Covariant-Rückgabetypen werden in verwalteten Typen oder WinRT-Typen nicht unterstützt (andernfalls würde „member2“ überschrieben werden). |
Compilerfehler C2393 | „symbol“: Ein anwendungsdomänenspezifisches Symbol kann nicht in Segment „segment“ zugeordnet werden. |
Compilerfehler C2394 | „type::operator operator“: Der CLR-/WinRT-Operator ist ungültig. Mindestens ein Parameter muss einen der folgenden Typen aufweisen: „T^“, „T^%“, „T^&“, wobei T = „type“ |
Compilerfehler C2395 | „type::operator operator“: Der CLR-/WinRT-Operator ist ungültig. Mindestens ein Parameter muss einen der folgenden Typen aufweisen: „T“, „T%“, „T&“, „T^“, „T^%“, „T^&“, wobei T = „type“. |
Compilerfehler C2396 | „type1::operator type2“: Die benutzerdefinierte CLR-/WinRT-Konvertierungsfunktion ist ungültig. Muss entweder von oder zu Folgendem konvertiert werden: „T^“, „T^%“, „T^&“, wobei T = „type1“ |
Compilerfehler C2397 | Die Konvertierung von „type1“ in „type2“ erfordert eine einschränkende Konvertierung. |
Compilerfehler C2398 | Element „number“: Die Konvertierung von „type1“ in „type2“ erfordert eine einschränkende Konvertierung. |
Compilerfehler C2399 | Veraltet. |
Weitere Informationen
C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerfehler C2001–C3999, C7000–C7999