Errori del compilatore da C2900 a C2999
Gli articoli in questa sezione della documentazione illustrano un subset dei messaggi di errore generati dal compilatore.
Importante
I compilatori e gli strumenti di compilazione di Visual Studio possono segnalare molti tipi di errori e avvisi. Dopo aver trovato un errore o un avviso, gli strumenti di compilazione possono fare ipotesi sulla finalità del codice e tentare di continuare, in modo che più problemi possano essere segnalati contemporaneamente. Se la supposizione degli strumenti non è corretta, gli errori o avvisi successivi potrebbero non essere applicabili al progetto. Quando si correggono i problemi nel progetto, iniziare sempre con il primo errore o avviso restituito e ricompilare spesso. Una correzione può causare la scomparsa di molti errori successivi.
Per ottenere informazioni su un messaggio di diagnostica specifico in Visual Studio, selezionarlo nella finestra Output e premere F1. Visual Studio apre la pagina della documentazione per tale errore, se presente. È anche possibile usare lo strumento di ricerca nella parte superiore della pagina per trovare articoli su errori o avvisi specifici. In alternativa, esplorare l'elenco di errori e avvisi per strumento e digitare il sommario in questa pagina.
Nota
Non tutti gli errori o gli avvisi di Visual Studio sono documentati. In molti casi, il messaggio di diagnostica fornisce tutte le informazioni disponibili. Se sei arrivato in questa pagina quando hai usato F1 e pensi che il messaggio di errore o avviso richieda spiegazioni aggiuntive, comunicaci. È possibile usare i pulsanti di feedback in questa pagina per generare un problema di documentazione in GitHub. Se si ritiene che l'errore o l'avviso non sia corretto o si è riscontrato un altro problema con il set di strumenti, segnalare un problema di prodotto nel sito Della community degli sviluppatori. È anche possibile inviare commenti e suggerimenti e immettere bug nell'IDE. In Visual Studio passare alla barra dei menu e scegliere Guida > Per inviare commenti e > suggerimenti segnala un problema oppure inviare un suggerimento usando La Guida > invia > commenti e suggerimenti Invia un suggerimento. Alcuni argomenti relativi agli errori del compilatore sono stati creati che non vengono generati dal compilatore e ora reindirizzano a questa pagina.
È possibile trovare ulteriore assistenza per errori e avvisi nei forum di domande e risposte di Microsoft Learn. In alternativa, cercare il numero di errore o di avviso nel sito della community degli sviluppatori di Visual Studio C++. È anche possibile cercare Stack Overflow per trovare soluzioni.
Per i collegamenti ad altre risorse della Guida e della community, vedere Guida e community di Visual C++.
Messaggi di errore
Error | Messaggio |
---|---|
Errore del compilatore C2900 | 'declarator': i modelli di funzione membro nelle classi WinRT devono essere 'private', 'internal' o 'protected private' |
Errore del compilatore C2901 | 'identifier': un'interfaccia generica o un delegato non può essere pubblico |
Errore del compilatore C2902 | 'token': token imprevisto dopo 'template/generic', identificatore previsto (obsoleto in Visual Studio 2022). |
Errore del compilatore C2903 | 'identifier': il simbolo non è un modello di classe/generico né un modello di funzione/generico |
Errore del compilatore C2904 | 'identifier': nome già usato per un modello nell'ambito corrente |
Errore del compilatore C2905 | Obsoleta. |
Errore del compilatore C2906 | 'template': la specializzazione esplicita richiede 'template <>' |
Errore del compilatore C2907 | l'argomento register 'number' non specifica un numero di registro valido |
Errore del compilatore C2908 | specializzazione esplicita; 'template' è già stata creata un'istanza |
Errore del compilatore C2909 | 'identifier': la creazione esplicita di istanze del modello di funzione richiede un tipo restituito |
Errore del compilatore C2910 | 'function': non può essere specializzata in modo esplicito |
Errore del compilatore C2911 | 'member': non può essere dichiarato o definito nell'ambito corrente |
Errore del compilatore C2912 | la specializzazione esplicita 'declaration' non è una specializzazione di un modello di funzione |
Errore del compilatore C2913 | specializzazione esplicita; 'declaration' non è una specializzazione di un modello di classe |
Errore del compilatore C2914 | 'identifier': impossibile dedurre l'argomento modello/generico perché l'argomento della funzione è ambiguo |
Errore del compilatore C2915 | 'identifier': 'type' non può essere usato direttamente sulla superficie pubblicata di un tipo WinRT. Usare invece 'Platform::Object^' per passare questo tipo |
Errore del compilatore C2916 | 'identifier': [FlagsAttribute] deve (solo) essere specificato in un'enumerazione pubblica con un tipo sottostante 'unsigned int' |
Errore del compilatore C2917 | 'identifier': template-parameter non valido (obsoleto in Visual Studio 2022). |
Errore del compilatore C2918 | 'identifier': le proprietà indicizzate non possono essere usate sulla superficie pubblicata di un tipo WinRT |
Errore del compilatore C2919 | 'type': gli operatori non possono essere usati sulla superficie pubblicata di un tipo WinRT |
Errore del compilatore C2920 | ridefinizione: 'type': il modello di classe/generico è già stato dichiarato come 'declaration' |
Errore del compilatore C2921 | ridefinizione: 'type': modello di classe/generico viene rideclarato come 'declaration' |
Errore del compilatore C2922 | 'interface': un'interfaccia WinRT non può contenere membri statici |
Errore del compilatore C2923 | 'type': 'identifier' non è un argomento di tipo modello/generico valido per il parametro 'parameter' |
Errore del compilatore C2924 | argomento di routine __declspec(interrupt) non in R2 |
Errore del compilatore C2925 | routine __declspec(interrupt) non può usare la virgola mobile |
Errore del compilatore C2926 | 'identifier': un inizializzatore di membro predefinito non è consentito per un membro di uno struct anonimo all'interno di un'unione |
Errore del compilatore C2927 | 'identifier': un modello di funzione deve essere chiamato con almeno un argomento |
Errore del compilatore C2928 | creazione di istanze esplicite; 'identifier' non è una funzione o un membro dati statico della classe modello 'class' |
Errore del compilatore C2929 | 'declarator': creazione esplicita di istanze; non può forzare e eliminare in modo esplicito l'istanza del membro della classe modello |
Errore del compilatore C2930 | 'class': template-id/generic-id ridefinito come enumeratore di 'identificatore enumerazione' |
Errore del compilatore C2931 | 'class1': template-id/generic-id ridefinito come funzione membro di 'class2' (obsoleto in Visual Studio 2022). |
Errore del compilatore C2932 | 'type': template-id/generic-id ridefinito come membro dati di 'identifier' (obsoleto in Visual Studio 2022). |
Errore del compilatore C2933 | 'type': template-id/generic-id ridefinito come membro typedef di 'identifier' (obsoleto in Visual Studio 2022). |
Errore del compilatore C2934 | 'type': template-id/generic-id ridefinito come 'elemento' annidato di 'identifier' (obsoleto in Visual Studio 2022). |
Errore del compilatore C2935 | 'type': template-id/generic-id ridefinito come funzione globale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2936 | 'type': template-id/generic-id ridefinito come variabile di dati globale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2937 | 'type': template-id/generic-id ridefinito come typedef globale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2938 | 'identifier': impossibile specializzare il modello di alias |
Errore del compilatore C2939 | 'type': template-id/generic-id ridefinito come variabile di dati locale (obsoleto in Visual Studio 2022. |
Errore del compilatore C2940 | 'type': template-id/generic-id ridefinito come typedef locale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2941 | 'type': template-id/generic-id ridefinito come 'elemento' locale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2942 | 'type': template-id/generic-id ridefinito come argomento formale di una funzione (obsoleto in Visual Studio 2022). |
Errore del compilatore C2943 | 'type': template-id/generic-id ridefinito come argomento di tipo di un modello (obsoleto in Visual Studio 2022). |
Errore del compilatore C2944 | 'type': template-id/generic-id ridefinito come argomento valore di un modello (obsoleto in Visual Studio 2022). |
Errore del compilatore C2945 | creazione esplicita di un'istanza non riferita a una specializzazione di una classe modello |
Errore del compilatore C2946 | creazione di istanze esplicite; 'type' non è una specializzazione di classe modello |
Errore del compilatore C2947 | previsto '>' per terminare gli argomenti del modello, trovato 'token' |
Errore del compilatore C2948 | creazione di istanze esplicite; identificatore di classe di archiviazione 'specifier' non consentito per la specializzazione |
Errore del compilatore C2949 | thread_local non è supportato con /kernel |
Errore del compilatore C2950 | Obsoleta. |
Errore del compilatore C2951 | Le dichiarazioni template/generiche sono consentite solo nell'ambito globale, dello spazio dei nomi o della classe |
Errore del compilatore C2952 | 'declaration': template/generic declaration missing template/generic parameter list |
Errore del compilatore C2953 | 'type': il modello di classe è già stato definito |
Errore del compilatore C2954 | argomento della parola di istruzione non compreso nell'intervallo |
Errore del compilatore C2955 | 'type': l'uso di modello di classe/generico richiede un elenco di argomenti modello/generico |
Errore del compilatore C2956 | la funzione di deallocazione normale 'function' verrebbe scelta come funzione di deallocazione del posizionamento |
Errore del compilatore C2957 | 'token': delimitatore sinistro non valido: previsto '<' |
Errore del compilatore C2958 | Il delimitatore sinistro trovato in 'file(line_number)' non corrisponde correttamente |
Errore del compilatore C2959 | una classe o una funzione generica non può essere un membro di un modello |
Errore del compilatore C2960 | Obsoleta. |
Errore del compilatore C2961 | 'function': istanze esplicite incoerenti, un'istanza esplicita precedente non ha specificato 'argument' |
Errore del compilatore C2962 | errore di sintassi: 'token': definizione della funzione membro della classe modello prevista per terminare con '}' |
Errore del compilatore C2963 | Obsoleta. |
Errore del compilatore C2964 | Obsoleta. |
Errore del compilatore C2965 | __declspec(identificatore) non è supportato con /kernel |
Errore del compilatore C2966 | 'identifier1': deve avere lo stesso __declspec(code_seg(...)) della relativa classe di base 'identifier2' (obsoleta in Visual Studio 2022). |
Errore del compilatore C2967 | 'identifier': una funzione virtuale di override deve avere lo stesso __declspec(code_seg(...)) di una funzione virtuale sottoposta a override (obsoleta in Visual Studio 2022). |
Errore del compilatore C2968 | 'identifier': dichiarazione di alias ricorsiva |
Errore del compilatore C2969 | errore di sintassi: 'token': definizione della funzione membro prevista da terminare con '}' |
Errore del compilatore C2970 | 'type': parametro di modello 'parameter': 'argument': un'espressione che include oggetti con collegamento interno non può essere usata come argomento non di tipo |
Errore del compilatore C2971 | 'type': parametro di modello 'parameter': 'argument': una variabile con durata di archiviazione non statica non può essere usata come argomento non di tipo |
Errore del compilatore C2972 | 'type': parametro di modello 'parameter': il tipo di argomento non di tipo non è valido |
Errore del compilatore C2973 | 'template': argomento modello non valido 'number' |
Errore del compilatore C2974 | 'type': argomento template/generico non valido per 'parameter', tipo previsto |
Errore del compilatore C2975 | 'type': argomento di modello non valido per 'parameter', espressione costante in fase di compilazione prevista |
Errore del compilatore C2976 | 'type': troppi argomenti di modello/generico |
Errore del compilatore C2977 | 'type': troppi argomenti modello/generico |
Errore del compilatore C2978 | errore di sintassi: previsto 'keyword1' o 'keyword2'; tipo trovato 'type'; parametri non di tipo non supportati nei generics |
Errore del compilatore C2979 | le specializzazioni esplicite non sono supportate in generics |
Errore del compilatore C2980 | La gestione delle eccezioni C++ non è supportata con /kernel |
Errore del compilatore C2981 | la forma dinamica di 'keyword' non è supportata con /kernel |
Errore del compilatore C2982 | 'declaration': different __declspec(code_seg(...)) used: was 'identifier1' now 'identifier2' |
Errore del compilatore C2983 | 'declaration': tutte le dichiarazioni devono avere un __declspec identico(code_seg(...)) |
Errore del compilatore C2984 | Obsoleta. |
Errore del compilatore C2985 | 'argument': l'argomento di __declspec(code_seg(...)) deve essere una sezione di testo |
Errore del compilatore C2986 | 'identifier': __declspec(code_seg(...)) può essere applicato solo a una classe o a una funzione |
Errore del compilatore C2987 | Una dichiarazione non può avere sia __declspec(code_seg('identifier')) che __declspec(code_seg('value')) |
Errore del compilatore C2988 | dichiarazione/definizione del modello non riconoscibile |
Errore del compilatore C2989 | 'class': il modello di classe/generico è già stato dichiarato come modello non di classe/generico |
Errore del compilatore C2990 | 'class': modello non di classe/generico è già stato dichiarato come modello di classe/generico |
Errore del compilatore C2991 | ridefinizione del parametro modello/generico 'parameter' |
Errore del compilatore C2992 | 'class': template/generic parameter list non valido o mancante |
Errore del compilatore C2993 | 'type': tipo non valido per il parametro modello non di tipo 'identifier' |
Errore del compilatore C2994 | classe senza nome nell'elenco dei parametri di modello |
Errore del compilatore C2995 | 'declaration': il modello di funzione è già stato definito |
Errore del compilatore C2996 | 'function': definizione del modello di funzione ricorsiva |
Errore del compilatore C2997 | 'function': il limite di matrice non può essere dedotto da un inizializzatore di membro predefinito |
Errore del compilatore C2998 | 'declarator': non può essere una definizione di modello |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Errori del compilatore C2000 - C3999, C7000 - C7999