Compilerfehler C3300 bis C3399
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 C3300 | 'symbol': falsches Format für IDL 'value' |
Compilerfehler C3301 | 'coclass': coclass kann keine 'Symbol'-Schnittstelle sein |
Compilerfehler C3302 | 'identifier': Der Bezeichner enthält mehr als Zahlenzeichen |
Compilerfehler C3303 | 'attribute': Das Attribut kann nur auf 'type' verwendet werden |
Compilerfehler C3304 | Veraltet. |
Compilerfehler C3305 | Veraltet. |
Compilerfehler C3306 | 'template': Die unbenannte Klasse template/generic ist nicht zulässig |
Compilerfehler C3307 | 'module': Das IDL-Modul konnte nicht erstellt werden |
Compilerfehler C3308 | 'function': Direkter Aufruf durch importierte Klasse wird nicht unterstützt |
Compilerfehler C3309 | 'macro/keyword': Ein Modulname kann kein Makro oder Schlüsselwort sein |
Compilerfehler C3310 | 'identifier': Modulnamekonflikt |
Compilerfehler C3311 | Modulattribute müssen im globalen Gültigkeitsbereich definiert sein |
Compilerfehler C3312 | für den Typ 'type' wurde keine beschriftbare 'Identifier'-Funktion gefunden |
Compilerfehler C3313 | 'identifier': Variable darf nicht den Typ 'type' haben |
Compilerfehler C3314 | 'symbol': Dies ist kein unterstützter IDL-Modultyp |
Compilerfehler C3315 | 'function': Muss eine Memberfunktion sein |
Compilerfehler C3316 | 'type': ein Array mit unbekannter Größe kann nicht in einer bereichsbasierten for-Anweisung verwendet werden |
Compilerfehler C3317 | 'identifier': eine overload-Funktion kann nicht als Ausdruck in einer bereichsbasierten "for"-Anweisung verwendet werden |
Compilerfehler C33181 | 'type': Ein Array darf keinen Elementtyp aufweisen, der "auto " enthält |
Compilerfehler C3319 | Veraltet. |
Compilerfehler C3320 | 'type': Typ kann nicht den gleichen Namen besitzen wie die name-Moduleigenschaft |
Compilerfehler C3321 | Eine Initialisiererliste wird in diesem Kontext nicht erwartet |
Compilerfehler C3322 | 'property': Ist keine gültige Eigenschaft für das Attribut 'attribute' |
Compilerfehler C3323 | "alignas" und "__declspec(align)" sind in Funktionsdeklarationen nicht zulässig |
Compilerfehler C3324 | 'property': Die Eigenschaft tritt mehrmals im Attribut 'attribute' auf |
Compilerfehler C3325 | 'attribute': Das Attribut besitzt zu viele Argumente |
Compilerfehler C3326 | 'value': ist kein gültiger Wert für Eigenschaft 'property' des Attributs 'attribute' |
Compilerfehler C3327 | 'property': muss den Wert für die Eigenschaft des Attributs 'attribute' angeben |
Compilerfehler C3328 | 'attribute': Das Attribut besitzt nicht genügend Argumente |
Compilerfehler C3329 | Syntaxfehler: 'token1' nicht 'token2' erwartet |
Compilerfehler C3330 | ' function': Eine Funktion kann keinen Array 'type' zurückgeben |
Compilerfehler C3331 | 'identifier': Attribute für Parameter sind nur für COM-Schnittstellen und Co-Klassen zulässig |
Compilerfehler C3332 | 'property': Grammatik inkonsistent, Eigenschaft 'property' ist erforderlich und hat einen Standardwert |
Compilerfehler C3333 | 'library': Die beschädigte Typbibliothek konnte nicht #importiert werden |
Compilerfehler C3334 | #import für beschädigte Typbibliothek nicht möglich. |
Compilerfehler C3335 | 'identifier': Es kann maximal nur eine Standardschnittstelle für eine Co-Klasse 'class' vorhanden sein |
Compilerfehler C3336 | Dieser Vorgang muss im Gültigkeitsbereich der Klasse durchgeführt werden |
Compilerfehler C3337 | 'identifier': defaultvtable muss eine Ereignisquelle für eine Co-Klasse 'class' sein |
Compilerfehler C3338 | 'identifier': Es kann maximal nur eine Standardschnittstelle, die außerdem eine Ereignisquelle für eine Co-Klasse 'class' ist |
Compilerfehler C3339 | Für den template-Vorlagenparameter ist entweder 'class' oder 'typename' nach der Parameterliste erforderlich |
Compilerfehler C3340 | 'identifier': Die Schnittstelle kann in der Co-Klasse 'class' nicht zugleich 'restricted' und 'default' sein |
Compilerfehler C3341 | 'interface': eine defaultvtable-Schnittstelle muss entweder "dual" oder "custom" sein |
Compilerfehler C3342 | 'identifier': mehrdeutiges Attribut |
Compilerfehler C3343 | 'class::name': Der Attributbezeichner besitzt zu viele Zeichen |
Compilerfehler C3344 | Sie können keine explizite Spezialisierung und keine teilweise Spezialisierung von 'symbol' definieren. |
Compilerfehler C3345 | 'name': Unzulässiger Bezeichner für den Modulnamen |
Compilerfehler C3346 | Exportierte Deklaration in Nicht-Namespacebereich |
Compilerfehler C3347 | 'argument': Erforderliches Argument wird nicht im Attribut attribute-name angegeben |
Compilerfehler C3348 | Exportierte Vorlagen sind nicht Bestandteil der aktuellen C++-Standards |
Compilerfehler C3349 | 'class::member': Multicast-Attribut wurde bereits vom Anbieter provide-name implementiert |
Compilerfehler C3350 | 'function': Ein Delegatkonstruktor erwartet number Argument(e) |
Compilerfehler C3351 | 'function': Wenn Sie eine NULL-Objektinstanz an einen Delegatkonstruktor übergeben, müssen Sie ebenfalls die Adresse einer statischen Memberfunktion übergeben |
Compilerfehler C3352 | 'function': Die angegebene Funktion stimmt nicht mit dem Delegattyp 'type' überein |
Compilerfehler C3353 | 'identifier': Ein Delegat kann nur von einer globalen Funktion oder einer Memberfunktion eines managed/WINRT-Typs erstellt werden |
Compilerfehler C3354 | 'identifier': Die zum Erstellen eines Delegaten verwendete Funktion kann nicht den Rückgabetyp 'type' haben |
Compilerfehler C3355 | 'class::member': Multicast-Attribut lauscht auf Anbieter 'provider1', wird jedoch vom Anbieter 'provider2' implementiert |
Compilerfehler C3356 | 'identifier': Ein mehrfach umgewandeltes Attribut mit einem vollständig gekennzeichneten Namen kann nicht aufgerufen werden |
Compilerfehler C3357 | 'attribute': Das Attribut ist mehrdeutig. Es muss ein vollständig gekennzeichneter Name verwendet werden |
Compilerfehler C3358 | 'symbol': Symbol konnte nicht gefunden werden |
Compilerfehler C3359 | 'specialization': Vorlage kann nicht spezialisiert werden |
Compilerfehler C3360 | 'string': name kann nicht erstellt werden |
Compilerfehler C3361 | Es gibt keinen Kontext für action |
Compilerfehler C3362 | 'class::member': Ein mehrfach umgewandeltes Attribut wurde noch nicht implementiert |
Compilerfehler C3363 | 'identifier': 'typeid' kann nur auf einen Typ angewendet werden |
Compilerfehler C3364 | ' function': Ungültiges Argument für den Delegatkonstruktor. Delegatziel muss ein Zeiger auf eine Memberfunktion sein |
Compilerfehler C3365 | Operator 'operator': Unterschiedliche Operanden vom Typ 'type' und 'type' |
Compilerfehler C3366 | 'member': Statische Datenmember von %$&[MANAGED WINRT]-Typen müssen innerhalb der Klassendefinition definiert werden |
Compilerfehler C3367 | ' function': Eine statische Funktion kann nicht zum Erstellen eines ungebundenen Delegaten verwendet werden |
Compilerfehler C3368 | 'declarator': Ungültige Aufrufkonvention für IDL |
Compilerfehler C3369 | 'module': idl_module ist bereits definiert |
Compilerfehler C3370 | 'module': idl_module ist noch nicht definiert |
Compilerfehler C3371 | "idl_module": Hier ist nur die "name"-Eigenschaft zulässig |
Compilerfehler C3372 | Es muss wenigstens eine Schnittstelle für das Attribut 'attribute' bei einer Co-Klasse angegeben werden |
Compilerfehler C3373 | Das Attribut 'attribute' hat keine Argumente, außer bei einer Co-Klasse |
Compilerfehler C3374 | Übernehmen der Adresse der ' function' nicht möglich, außer bei Erstellung der Delegatinstanz |
Compilerfehler C3375 | 'function': Mehrdeutige Delegatfunktion |
Compilerfehler C3376 | 'template': Nur statische Datenmembervorlagen sind zulässig |
Compilerfehler C3377 | "decltype(auto)" ist in einem neuen Ausdruck nicht zulässig (veraltet in Visual Studio 2022.) |
Compilerfehler C3378 | Eine Deklaration kann nur aus einer Modulschnittstelleneinheit exportiert werden |
Compilerfehler C3379 | 'class': Eine geschachtelte Klasse kann keinen Assembler-Zugriffsspezifizierer als Teil seiner Deklaration haben |
Compilerfehler C3380 | 'specifier': Ungültiger Assembler-Zugriffsspezifizierer - nur "public" oder "private" sind zulässig |
Compilerfehler C3381 | 'specifier': Assemblyzugriffsspezifizierer sind nur in Code verfügbar, der mit einer /clr-Option kompiliert wurde |
Compilerfehler C3382 | "sizeof" wird von /clr:safe nicht unterstützt. |
Compilerfehler C3383 | "operator new" wird mit /clr:safe nicht unterstützt. |
Compilerfehler C3384 | 'type': Die Werteinschränkung und die ref-Einschränkung schließen sich gegenseitig aus |
Compilerfehler C3385 | ' function': Eine Funktion, die ein benutzerdefiniertes DllImport-Attribut hat, kann keine Instanz einer Klasse zurückgeben |
Compilerfehler C3386 | 'type': __declspec(dllexport)/__declspec(dllimport) kann nicht auf einen managed/WinRT-Typ angewendet werden |
Compilerfehler C3387 | 'member': __declspec(dllexport)/__declspec(dllimport) kann nicht auf einen Member eines %$&[MANAGED WINRT]-Typs angewendet werden |
Compilerfehler C3388 | 'token': nicht als Einschränkung zulässig, 'value' wird angenommen, um mit dem Analysieren fortzufahren |
Compilerfehler C3389 | __declspec(specifier) kann bei /clr:pure oder /clr:safe nicht verwendet werden |
Compilerfehler C3390 | 'type': Ungültiges Typargument für den generischen Parameter 'parameter' von 'generic_type' (generisch). Muss ein Referenztyp sein |
Compilerfehler C3391 | 'type': Ungültiges Typargument für den generischen Parameter 'parameter' von 'generic_type' (generisch). Muss ein Werttyp sein, der keine NULL-Werte zulässt |
Compilerfehler C3392 | 'type': Ungültiges Typargument für den generischen Parameter 'parameter' von 'generic_type' (generisch). Muss einen öffentlichen parameterlosen Konstruktor aufweisen |
Compilerfehler C3393 | Syntaxfehler in Einschränkungsklausel: 'identifier' ist kein Typ |
Compilerfehler C3394 | Syntaxfehler in Einschränkungsklausel: 'symbol' wurde gefunden, es wurde jedoch ein Typ erwartet |
Compilerfehler C3395 | ' function': __declspec(dllexport) kann nicht mit der __clrcall-Aufrufkonvention auf eine Funktion angewendet werden |
Compilerfehler C3396 | 'class.member': Das benutzerdefinierte Attribut wurde nicht in 'namespace' gefunden |
Compilerfehler C3397 | Die Aggregatinitialisierung ist in Standardargumenten nicht zulässig. |
Compilerfehler C3398 | 'operator': kann nicht von 'type' in 'type' konvertiert werden. Der Quellausdruck muss ein Funktionssymbol sein. |
Compilerfehler C3399 | 'type': Beim Erstellen einer Instanz eines generischen Parameters können Argumente nicht bereitgestellt werden |
1–In Visual Studio 2022, Version 17.11, nicht mehr ausgegeben
Weitere Informationen
C/C++-Compiler und -Buildtools: Fehler und Warnungen
Compilerfehler C2000 bis C3999, C7000 bis C7999