Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In de artikelen in deze sectie van de documentatie wordt een subset uitgelegd van de foutberichten die door de compiler worden gegenereerd.
Belangrijk
De Visual Studio-compilers en buildhulpprogramma's kunnen allerlei soorten fouten en waarschuwingen rapporteren. Nadat er een fout of waarschuwing is gevonden, kunnen de buildhulpprogramma's veronderstellingen maken over de intentie van code en proberen door te gaan, zodat er meer problemen tegelijkertijd kunnen worden gerapporteerd. Als de hulpprogramma's de verkeerde aanname maken, zijn latere fouten of waarschuwingen mogelijk niet van toepassing op uw project. Wanneer u problemen in uw project corrigeert, begint u altijd met de eerste fout of waarschuwing die wordt gerapporteerd en bouwt u deze vaak opnieuw. Eén oplossing kan meerdere volgende fouten oplossen.
Als u hulp wilt krijgen bij een bepaald diagnostisch bericht in Visual Studio, selecteert u dit in het venster Uitvoer en drukt u op de F1--toets. Visual Studio opent de documentatiepagina voor die fout, indien aanwezig. U kunt ook het zoekprogramma bovenaan de pagina gebruiken om artikelen te vinden over specifieke fouten of waarschuwingen. Of blader door de lijst met fouten en waarschuwingen per hulpprogramma en typ de inhoudsopgave op deze pagina.
Opmerking
Niet elke Visual Studio-fout of -waarschuwing wordt gedocumenteerd. In veel gevallen bevat het diagnostische bericht alle beschikbare informatie. Als u op deze pagina terechtkomt en denkt dat het foutbericht of waarschuwingsbericht aanvullende uitleg nodig heeft, laat het ons dan weten met behulp van de feedbackknoppen op deze pagina. Als u denkt dat de fout of waarschuwing onjuist is of als u een ander probleem met de toolset hebt gevonden, meldt u een productprobleem op de Developer Community-site. U kunt ook feedback verzenden en bugs invoeren in de IDE. Ga in Visual Studio naar de menubalk en kies Help > Feedback verzenden > Een probleem meldenof een suggestie indienen met behulp van Help > Feedback verzenden > Een functie voorstellen. Er zijn enkele onderwerpen over compilerfouten gemaakt die niet door de compiler worden verzonden en nu worden omgeleid naar deze pagina.
Mogelijk vindt u aanvullende hulp bij fouten en waarschuwingen in Microsoft Q&A C++ forums. U kunt ook zoeken naar de fout of het waarschuwingsnummer op de Visual Studio C++ Developer Community-site. U kunt ook zoeken Stack Overflow- om oplossingen te vinden.
Zie voor koppelingen naar aanvullende hulpbronnen en communitybronnen Visual C++ Hulp en Community.
Foutberichten
| Fout | Bericht |
|---|---|
| Compilerfout C2500 | 'identifier1': 'identifier2' is al een directe basisklasse |
| Compilerfout C2501 | 'id': '__declspec(specifier)' kan alleen worden toegepast op structs, samenvoegingen, klassen of niet-ondertekende bitveldleden |
| Compilerfout C2502 | 'id': te veel toegangsaanpassingen op de basisklasse |
| Compilerfout C2503 | 'klasse': basisklassen kunnen geen arrays van grootte nul bevatten |
| Compilerfout C2504 | 'klasse': basisklasse niet gedefinieerd |
| Compilerfout C2505 | 'symbool': '__declspec(specifier)' kan alleen worden toegepast op declaraties of definities van globale objecten of statische gegevensleden |
| Compilerfout C2506 | 'lid': '__declspec(specifier)' kan niet worden toegepast op dit symbool |
| Compilerfout C2507 | 'id': te veel virtuele modifiers op de basisklasse |
| Compilerfout C2508 | "id": "__declspec(specifier1)" kan niet worden gecombineerd met "__declspec(specifier2)" |
| Compilerfout C2509 | 'id': lidfunctie niet gedeclareerd in 'klasse' |
| Compilerfout C2510 | 'identifier': links van '::' moet een klasse/structuur/union zijn |
| Compilerfout C2511 | 'id': overbelaste lidfunctie niet gevonden in 'klasse' |
| Compilerfout C2512 | 'id': er is geen geschikte standaardconstructor beschikbaar |
| Compilerfout C2513 | *type: geen variabele gedeclareerd voor '=' |
| Compilerfout C2514 | 'klasse': klasse heeft geen constructors |
| Compilerfout C2515 | 'id': 'vtguard' kan alleen worden toegepast op klassedeclaraties of -definities |
| Compilerfout C2516 | 'klasse': is geen juridische basisklasse |
| Compilerfout C2517 | 'identifier': het rechterdeel van '::' is niet gedefinieerd |
| Compilerfout C2518 |
trefwoord is ongeldig in een basisklasselijst; er werd een class naam verwacht |
| Compilerfout C2519 | 'id': WinRT-kenmerken mogen alleen openbare velden bevatten |
| Compilerfout C2520 | 'klasse': geen niet-expliciete constructor beschikbaar voor impliciete conversie |
| Compilerfout C2521 | een destructor/finalizer heeft geen argumenten |
| Compilerfout C2522 | 'identifier': Overload-identifier kan niet worden gebruikt voor 'identifier1' omdat het al is gespecificeerd op 'identifier2' |
| Compilerfout C2523 | 'klasse::~identifier': destructor/finalizer-tag komt niet overeen |
| Compilerfout C2524 | 'identifier': een destructor/finalizer moet een 'void' parameterlijst hebben |
| Compilerfout C2525 | 'identifier': de parameter 'identifier1' heet 'identifier2' op de basisfunctie en moet worden vergeleken in een gepubliceerde implementatie |
| Compilerfout C2526 | 'id1': de C-koppelingsfunctie kan de C++-klasse 'id2' niet retourneren |
| Compilerfout C2527 | 'id': DefaultOverload kan niet worden opgegeven voor zowel 'function1' als 'function2'. Eén specificatie verwijderen of de functie een andere naam geven tijdens de implementatie |
| Compilerfout C2528 | 'id': aanwijzer naar verwijzing is ongeldig |
| Compilerfout C2529 | "id": verwijzing naar verwijzing is ongeldig |
| Compilerfout C2530 | 'identifier': referenties moeten worden geïnitialiseerd |
| Compilerfout C2531 | 'id': verwijzing naar een bitveld ongeldig |
| Compilerfout C2532 | 'id': ongeldige modificator voor referentie |
| Compilerfout C2533 | 'id': constructors hebben geen retourtype toegestaan |
| Compilerfout C2534 | 'id': constructor kan geen waarde retourneren |
| Compilerfout C2535 | 'id': lidfunctie die al is gedefinieerd of gedeclareerd |
| Compilerfout C2536 | Verouderd. |
| Compilerfout C2537 | "aanduiding": ongeldige koppelingsspecificatie |
| Compilerfout C2538 | Verouderd. |
| Compilerfout C2539 | Verouderd. |
| Compilerfout C2540 | niet-constante expressie als matrixgrens |
| Compilerfout C2541 | 'id': objecten die geen aanwijzers zijn, kunnen niet worden verwijderd |
| Compilerfout C2542 | 'id': het klasseobject heeft geen constructor voor initialisatie |
| Compilerfout C2543 | verwacht ']' voor operator '[]' |
| Compilerfout C2544 | verwacht ')' voor operator '()' |
| Compilerfout C2545 | operator: kan geen overbeladen operator vinden |
| Compilerfout C2546 | "id": wanneer een type wordt gedefinieerd in zowel een PIA als een no-PIA, moet eerst naar de PIA worden verwezen |
| Compilerfout C2547 | 'id': alle parameters van een gepubliceerde methode moeten expliciet worden benoemd in de declaratie |
| Compilerfout C2548 | 'functie': ontbrekend standaardargument voor parameterparameter |
| Compilerfout C2549 | door de gebruiker gedefinieerde conversie kan geen retourtype opgeven |
| Compilerfout C2550 | 'id': constructor-initialisatielijsten zijn alleen toegestaan bij constructordefinities |
| Compilerfout C2551 | ‘void *’ type heeft expliciete cast nodig |
| Compilerfout C2552 | 'identifier': non-aggregaten kunnen niet worden geïnitialiseerd met een initializer list |
| Compilerfout C2553 | 'typederived_class::function': het overschrijven van het retourtype van de virtuele functie verschilt van 'typebase_class::function' |
| Compilerfout C2554 | 'variabele': 'constinit' alleen toegestaan voor een variabeledeclaratie met een statische of threadopslagduur |
| Compilerfout C2555 | 'derived_class::function': het overschrijven van het retourtype van de virtuele functie verschilt en is niet covariant van 'base_class::function' |
| Compilerfout C2556 | 'function1': overbelaste functie verschilt alleen per retourtype van 'function2' |
| Compilerfout C2557 | 'id': privé- en beveiligde leden kunnen niet worden geïnitialiseerd zonder een constructor |
| Compilerfout C2558 | klasse 'klasse': er is geen kopieerconstructor beschikbaar of de kopieerconstructor wordt 'expliciet' gedeclareerd |
| Compilerfout C2559 | "identifier": kan een lidfunctie niet overbelasten zonder ref-kwalificatie met een lidfunctie met ref-kwalificatie |
| Compilerfout C2560 | "id": kan een lidfunctie niet overbelasten met ref-kwalificatie met een lidfunctie zonder ref-kwalificatie |
| Compilerfout C2561 | 'functie': de functie moet een waarde retourneren |
| Compilerfout C2562 | 'function': 'void' functie die een waarde retourneert |
| Compilerfout C2563 | Ongelijkheid in de formele parameterlijst |
| Compilerfout C2564 | Verouderd. |
| Compilerfout C2565 | "identifier": ref-kwalificatie is ongeldig voor constructors/destructors |
| Compilerfout C2566 | overbelaste functie in voorwaardelijke expressie |
| Compilerfout C2567 | kan metagegevens niet openen in 'bestandsnaam', possible_reason |
| Compilerfout C2568 | 'identifier': kan overbelasting van functies niet oplossen |
| Compilerfout C2569 | 'id': enum/union kan niet worden gebruikt als basisklasse |
| Compilerfout C2570 | 'id': unie kan geen basisklassen hebben |
| Compilerfout C2571 | 'identificator': virtuele functie kan niet in unie 'unie' |
| Compilerfout C2572 | 'functie': herdefinitie van standaardargument: parameternummer |
| Compilerfout C2573 | 'class': kan geen pointers naar objecten van dit type verwijderen; de klasse heeft geen non-placement overload voor 'operator delete'. Gebruik ::delete of voeg 'operator delete(void*)' toe aan de klasse |
| Compilerfout C2574 | 'functie': kan niet statisch worden gedeclareerd |
| Compilerfout C2575 | 'id': alleen lidfuncties en bases kunnen virtueel zijn |
| Compilerfout C2576 | 'id': kan geen nieuwe virtuele methode introduceren als 'openbaar'. Overweeg de methode niet-virtueel te maken of de toegankelijkheid te wijzigen in 'intern' of 'beveiligd privé' |
| Compilerfout C2577 | 'identifier': een destructor/finalizer kan geen retourtype hebben |
| Compilerfout C2578 | 'klasse': type mag geen 'beveiligde' of 'beveiligde openbare' constructor hebben |
| Compilerfout C2579 | kan het type type niet bepalen (offset). Dit wordt verwacht in de bestandsnaam |
| Compilerfout C2580 | 'identifier': meerdere versies van standaard speciale lidfunctie zijn niet toegestaan |
| Compilerfout C2581 | 'type': de statische operator =-functie is ongeldig |
| Compilerfout C2582 | De functie operator operator is niet beschikbaar in 'type' |
| Compilerfout C2583 | 'identificator': 'const/volatile' 'this'-pointer is niet toegestaan voor constructors/destructors |
| Compilerfout C2584 | "klasse": directe basis "base_class2" is niet toegankelijk; al een basis van 'base_class1' |
| Compilerfout C2585 | expliciete conversie naar 'type' is onduidelijk |
| Compilerfout C2586 | onjuiste door de gebruiker gedefinieerde conversiesyntaxis: illegale indirecties |
| Compilerfout C2587 | 'id': illegaal gebruik van lokale variabele als standaardparameter |
| Compilerfout C2588 | '::~identifier': illegale globale destructor/finalizer |
| Compilerfout C2589 | 'identifier': ongeldig token aan de rechterkant van '::' |
| Compilerfout C2590 | 'identifier': alleen een constructor kan een basis-/leden-initialisatielijst hebben |
| Compilerfout C2591 | ExclusiveTo kan 'type' niet gebruiken als argument. Alleen een 'ref class' is een geldig argument |
| Compilerfout C2592 | 'klasse': 'base_class2' wordt overgenomen van 'base_class1' en kan niet opnieuw worden opgegeven |
| Compilerfout C2593 | ' operator-id' is dubbelzinnig |
| Compilerfout C2594 | operator: dubbelzinnige conversies van 'type1' naar 'type2' |
| Compilerfout C2595 | 'id' Een WinRT-kenmerktype moet worden verzegeld |
| Compilerfout C2596 | Identifier Een WinRT-kenmerkveld kan alleen een 'public enum class', 'int', 'unsigned int', 'bool', 'Platform::Type', 'Platform::String' of 'Windows::Foundation::HResult' zijn. |
| Compilerfout C2597 | ongeldige verwijzing naar niet-statisch lid 'id' |
| Compilerfout C2598 | De koppelingsspecificatie moet zich op het globale niveau bevinden |
| Compilerfout C2599 | 'id': de doorstuurdeclaratie van een beheerd/WinRT-enum is niet toegestaan |
Zie ook
C/C++ Compiler- en buildhulpprogrammafouten en waarschuwingen
Compilerfouten C2000 - C3999, C7000 - C7999