Freigeben über


Compilerfehler C2800 bis C2899

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 C2800 Der Operator „Operator“ kann nicht überladen werden
Compilerfehler C2801 member“ muss ein nicht statischer Member sein
Compilerfehler C2802 Der Operator „operator“ des statischen Members besitzt keine formalen Parameter
Compilerfehler C2803 Der Operator „operator“ muss mindestens einen formalen Parameter vom Typ „class“ aufweisen
Compilerfehler C2804 Der binäre Operator „operator“ hat zu viele Parameter
Compilerfehler C2805 Der binäre Operator „operator“ hat zu wenige Parameter
Compilerfehler C2806 Der Operator „operator“ hat zu viele formale Parameter
Compilerfehler C2807 Der zweite formale Parameter für den Postfix-Operator „operator“ muss „int“ sein
Compilerfehler C2808 Der unäre Operator „operator“ hat zu viele formale Parameter
Compilerfehler C2809 Der Operator „operator“ besitzt keine formalen Parameter
Compilerfehler C2810 interface“: Eine Schnittstelle kann nur von einer anderen Schnittstelle erben
Compilerfehler C2811 type1“: kann nicht von „type2“ erben, eine Verweisklasse kann nur von einer Verweisklasse oder Schnittstellenklasse erben
Compilerfehler C2812 #import wird mit /clr:pure und /clr:safe nicht unterstützt
Compilerfehler C2813 #import wird mit "/MP" nicht unterstützt.
Compilerfehler C2814 member“: ein nativer Typ kann innerhalb eines verwalteten Typs/WinRT-Typs „class“ nicht geschachtelt werden
Compilerfehler C2815 „operator delete“: Der erste formale Parameter muss „void *“ sein, aber es wurde „type“ verwendet
Compilerfehler C2816 Im Aufruf des funktionsähnlichen Makros „identifier“ fehlt eine schließende Klammer „)“.
Compilerfehler C2817 Der Rückgabetyp für den Operator „delete“ muss „void“ sein
Compilerfehler C2818 Anwendung des überladenen Operators „->“ ist durch den Typ „class“ rekursiv
Compilerfehler C2819 Der Typ „class“ hat keinen überladenen Memberoperator „->“
Compilerfehler C2820 Veraltet.
Compilerfehler C2821 Der erste formale Parameter für den Operator „new“ muss „size_t“ sein
Compilerfehler C2822 Die lokale Entladung wird auf dieser Plattform nicht unterstützt
Compilerfehler C2823 Eine Typendefinitionsvorlage/generische Typendefinition ist nicht zulässig
Compilerfehler C2824 Der Rückgabetyp für den Operator „new“ muss „void *“ sein
Compilerfehler C2825 identifier“: Muss eine Klasse oder ein Namespace sein, wenn gefolgt von „::“
Compilerfehler C2826 Veraltet.
Compilerfehler C2827 Der Operator „operator“ kann nicht global in unärer Form überschrieben werden
Compilerfehler C2828 Der Operator „operator“ kann nicht global in binärer Form überschrieben werden.
Compilerfehler C2829 Der Operator „operator“ darf keine Variablenparameterliste aufweisen
Compilerfehler C2830 Nur die placement-Parameter für den Operator „new“ können Standardwerte haben
Compilerfehler C2831 Der Operator „operator“ darf keine Standardparameter aufweisen
Compilerfehler C2832 identifier“: Ein Verweistyp darf nicht mit einem Wert initialisiert sein
Compilerfehler C2833 Der Operator „token“ ist kein bekannter Operator oder Typ
Compilerfehler C2834 Der Operator „operator“ muss global qualifiziert sein (Veraltet in Visual Studio 2022.)
Compilerfehler C2835 Die benutzerdefinierte Konvertierung „type“ unterstützt keine formalen Parameter
Compilerfehler C2836 identifier“: Nur ein nicht statischer Datenmember einer Union darf einen Standardmemberinitialisierer aufweisen
Compilerfehler C2837 function“: OpenMP-Direktiven und #pragma loop(hint_parallel) dürfen nicht in derselben Funktion verwendet werden.
Compilerfehler C2838 'identifier': Unzulässiger vollständig angegebener Name in Elementdeklaration
Compilerfehler C2839 Ungültiger Rückgabetyp „type“ für überladenen Operator „->“
Compilerfehler C2840 Das Anweisungswortargument ist keine Konstante
Compilerfehler C2841 Das Registerargument ist keine Konstante
Compilerfehler C2842 class“: Ein verwalteter Typ/WinRT-Typ kann keinen eigenen Operator „new“ oder Operator „delete“ definieren.
Compilerfehler C2843 member“: Die Adresse eines nicht statischen Datenmembers oder einer Methode eines verwalteten Typs/WinRT-Typs kann nicht übernommen werden
Compilerfehler C2844 identifier“: Darf kein Member der Schnittstelle „interface“ sein
Compilerfehler C2845 type“: Die Zeigerarithmetik ist für diesen Typ nicht zulässig
Compilerfehler C2846 interface“: Eine Schnittstelle darf keinen Konstruktor besitzen
Compilerfehler C2847 sizeof kann nicht auf den verwalteten Typ/WinRT-Typ „class“ angewendet werden
Compilerfehler C2848 class“: Ein verwalteter Typ/WinRT-Typ darf kein Member einer Union sein
Compilerfehler C2849 interface“: Eine Schnittstelle darf keinen Destruktor besitzen
Compilerfehler C2850 construct“: Nur für den Dateibereich zulässig; kann nicht in Konstrukt geschachtelt werden
Compilerfehler C2851 enum“: Eine öffentliche WinRT-Enumeration darf nur „int“ oder „unsigned int“ als Basistyp verwenden
Compilerfehler C2852 identifier“: Nur Datenmember können innerhalb einer Klasse initialisiert werden
Compilerfehler C2853 identifier“: Ein nicht statischer Datenmember darf keinen Typ mit dem Inhalt „auto“ aufweisen
Compilerfehler C2854 Syntaxfehler in #pragma hdrstop
Compilerfehler C2855 Die Befehlszeilenoption „option“ stimmt nicht mit dem vorkompilierten Header überein
Compilerfehler C2856 #pragma hdrstop kann sich nicht innerhalb eines #if-Blocks befinden
Compilerfehler C2857 Die mit der Befehlszeilenoption /Ycfilename angegebene „#include“-Anweisung konnte in der Quelldatei nicht gefunden werden
Compilerfehler C2858 Die Befehlszeilenoption „/Yc (/Fdfilename)“ stimmt nicht mit dem vorkompilierten Header mit „/Fdfilename“ überein (Veraltet in Visual Studio 2022.)
Compilerfehler C2859 filename ist nicht die filetype-Datei, die beim Erstellen dieses vorkompilierten Headers verwendet wurde. Erstellen Sie den vorkompilierten Header neu.
Compilerfehler C2860 „void“ kann mit Ausnahme von „(void)“ nicht als Funktionsparameter verwendet werden
Compilerfehler C2861 declaration“: Eine Schnittstellenmemberfunktion kann nicht definiert werden
Compilerfehler C2862 interface“: Eine Schnittstelle kann nur öffentliche Member besitzen
Compilerfehler C2863 interface“: Eine Schnittstelle kann keine Friends besitzen
Compilerfehler C2864 identifier“: Ein statischer Datenmember mit einem Initialisierer in der Klasse muss einen nicht flüchtigen konstanten integralen Typ aufweisen
Compilerfehler C2865 operator“: Nicht zulässiger Vergleich für Objektzeiger/-handle
Compilerfehler C2866 Veraltet.
Compilerfehler C2867 identifier“: Ist kein Namespace
Compilerfehler C2868 identifier“: Nicht zulässige Syntax für die Verwendungsdeklaration; es wird ein qualifizierter Name erwartet
Compilerfehler C2869 identifier“: Wurde bereits als Namespace definiert
Compilerfehler C2870 identifier“: Eine Namespace-Definition muss entweder im Dateibereich oder unmittelbar in einer anderen Namespace-Definition angezeigt werden
Compilerfehler C2871 identifier“: Es ist kein Namespace mit diesem Namen vorhanden
Compilerfehler C2872 identifier“: Mehrdeutiges Symbol
Compilerfehler C2873 symbol“: Das Symbol kann nicht in einer using-Deklaration verwendet werden
Compilerfehler C2874 Die using-Deklaration verursacht eine mehrfache Deklaration von „identifier
Compilerfehler C2875 Die using-Deklaration verursacht eine mehrfache Deklaration von „class::identifier“ (Veraltet in Visual Studio 2022.)
Compilerfehler C2876 class::member“: Nicht alle Überladungen sind verfügbar
Compilerfehler C2877 Auf „member“ kann von „class“ aus nicht zugegriffen werden
Compilerfehler C2878 identifier“: Es ist kein Namespace oder keine Klasse mit diesem Namen vorhanden
Compilerfehler C2879 identifier“: Nur ein vorhandener Namespace kann einen alternativen Namen von einer Namespace-Aliasdefinition erhalten.
Compilerfehler C2880 __swi oder __hvc erfordert eine gültige Konstante als erstes Argument (SWI-Nummer)
Compilerfehler C2881 identifier“: Wird bereits als Alias für „class“ verwendet
Compilerfehler C2882 identifier“: Nicht zulässige Verwendung eines Namespace-Bezeichners in einem Ausdruck
Compilerfehler C2883 function“: Die Funktionsdeklaration steht in Konflikt mit „identifier“, der durch eine using-Deklaration definiert wurde
Compilerfehler C2884 identifier“: Wurde durch eine using-Deklaration definiert und steht in Konflikt mit einer lokalen Funktion „function
Compilerfehler C2885 class::identifier“: Keine gültige using-Deklaration im Gültigkeitsbereich der Nichtklasse
Compilerfehler C2886 class::identifier“: Das Symbol kann nicht in der using-Deklaration eines Members verwendet werden
Compilerfehler C2887 __swi oder __hvc kann nicht mehr als fünf Argumente haben (SWI-Nummer, r0 – r3)
Compilerfehler C2888 identifier“: Das Symbol darf nicht im Namespace „namespace“ definiert werden
Compilerfehler C2889 class“: Ein verwalteter Klassentyp/WinRT-Klassentyp kann keine virtuelle Basisklasse sein
Compilerfehler C2890 class“: Eine Verweisklasse darf nur eine Nichtschnittstellen-Basisklasse aufweisen
Compilerfehler C2891 parameter“: Die Adresse eines Vorlagenparameters kann nicht verwendet werden
Compilerfehler C2892 Die lokale Klasse darf keine Membervorlagen haben
Compilerfehler C2893 Fehler beim Spezialisieren der Funktionsvorlage „template
Compilerfehler C2894 Vorlagen können nicht mit „C“-Bindung deklariert werden
Compilerfehler C2895 declaration“: Eine Funktionsvorlage, die mit dllimport deklariert wurde, kann nicht explizit instanziiert werden
Compilerfehler C2896 function1“: Kann keine Funktionsvorlage/generische Funktion „function2“ als Funktionsargument verwenden (in Visual Studio 2022 veraltet.)
Compilerfehler C2897 Ein Destruktor/Finalizer kann keine Funktionsvorlage sein
Compilerfehler C2898 declaration“: Vorlagen der Memberfunktion dürfen nicht virtuell sein
Compilerfehler C2899 Veraltet.

Weitere Informationen

C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerfehler C2000 bis C3999, C7000 bis C7999