Condividi tramite


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