Errori del compilatore da C2800 a C2899
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 C2800 | Impossibile eseguire l'overload di 'operator operator' |
Errore del compilatore C2801 | 'member' deve essere un membro non statico |
Errore del compilatore C2802 | static member 'operator operator' non ha parametri formali |
Errore del compilatore C2803 | 'operator operator' deve avere almeno un parametro formale di tipo classe |
Errore del compilatore C2804 | l'operatore binario 'operator' ha troppi parametri |
Errore del compilatore C2805 | l'operatore binario 'operator' ha troppi parametri |
Errore del compilatore C2806 | 'operator operator' ha troppi parametri formali |
Errore del compilatore C2807 | Il secondo parametro formale per il prefisso 'operator operator' deve essere 'int' |
Errore del compilatore C2808 | unry 'operator operator' ha troppi parametri formali |
Errore del compilatore C2809 | 'operator operator' non ha parametri formali |
Errore del compilatore C2810 | 'interface': un'interfaccia può ereditare solo da un'altra interfaccia |
Errore del compilatore C2811 | 'type1': non può ereditare da 'type2', una classe ref può ereditare solo da una classe ref o da una classe di interfaccia |
Errore del compilatore C2812 | #import non è supportato con /clr:pure e /clr:safe |
Errore del compilatore C2813 | #import non supportato con /MP |
Errore del compilatore C2814 | 'member': un tipo nativo non può essere annidato all'interno di un tipo gestito/WinRT 'class' |
Errore del compilatore C2815 | 'operator delete': il primo parametro formale deve essere 'void *', ma 'type' è stato usato |
Errore del compilatore C2816 | chiamata di macro simile a funzione 'identifier' mancante terminazione ')' |
Errore del compilatore C2817 | il tipo restituito per 'operator delete' deve essere 'void' |
Errore del compilatore C2818 | l'applicazione di overload 'operator ->' è ricorsiva tramite il tipo 'class' |
Errore del compilatore C2819 | Il tipo 'class' non dispone di un membro di overload 'operator ->' |
Errore del compilatore C2820 | Obsoleta. |
Errore del compilatore C2821 | il primo parametro formale di 'operator new' deve essere 'size_t' |
Errore del compilatore C2822 | la rimozione locale non è supportata in questa piattaforma |
Errore del compilatore C2823 | un modello typedef/generico non è valido |
Errore del compilatore C2824 | il tipo restituito per 'operator new' deve essere 'void *' |
Errore del compilatore C2825 | 'identifier': deve essere una classe o uno spazio dei nomi se seguito da '::' |
Errore del compilatore C2826 | Obsoleta. |
Errore del compilatore C2827 | 'operator operator' non può essere sottoposto a override globale con un formato unario |
Errore del compilatore C2828 | 'operator operator' non può essere sottoposto a override globale con il formato binario |
Errore del compilatore C2829 | 'operator operator' non può avere un elenco di parametri di variabile |
Errore del compilatore C2830 | solo i parametri di posizionamento per 'operator new' possono avere valori predefiniti |
Errore del compilatore C2831 | 'operator operator' non può avere parametri predefiniti |
Errore del compilatore C2832 | 'identifier': non è possibile inizializzare un tipo riferimento |
Errore del compilatore C2833 | 'operator token' non è un operatore o un tipo riconosciuto |
Errore del compilatore C2834 | L'operatore 'operator' deve essere qualificato a livello globale (obsoleto in Visual Studio 2022). |
Errore del compilatore C2835 | la conversione definita dall'utente 'type' non accetta parametri formali |
Errore del compilatore C2836 | 'identifier': un solo membro dati non statico di un'unione può avere un inizializzatore membro predefinito |
Errore del compilatore C2837 | 'function': non può usare direttive OpenMP e #pragma loop (hint_parallel) nella stessa funzione |
Errore del compilatore C2838 | 'identifier': nome qualificato non valido nella dichiarazione del membro |
Errore del compilatore C2839 | tipo restituito non valido 'type' per l'overload 'operator ->' |
Errore del compilatore C2840 | argomento della parola di istruzione non costante |
Errore del compilatore C2841 | argomento register non costante |
Errore del compilatore C2842 | 'class': un tipo managed/WinRT potrebbe non definire il proprio 'operator new' o 'operator delete' |
Errore del compilatore C2843 | 'member': non può accettare l'indirizzo di un membro dati non statico o di un metodo di un tipo gestito/WinRT |
Errore del compilatore C2844 | 'identifier': non può essere un membro dell'interfaccia 'interface' |
Errore del compilatore C2845 | 'type': puntatore aritmetico non consentito in questo tipo |
Errore del compilatore C2846 | 'interface': un'interfaccia non può avere un costruttore |
Errore del compilatore C2847 | impossibile applicare sizeof al tipo gestito/WinRT 'class' |
Errore del compilatore C2848 | 'class': un tipo gestito/WinRT non può essere membro di un'unione |
Errore del compilatore C2849 | 'interface': un'interfaccia non può avere un distruttore |
Errore del compilatore C2850 | 'construct': consentito solo nell'ambito del file; potrebbe non trovarsi in un costrutto annidato |
Errore del compilatore C2851 | 'enum': un'enumerazione WinRT pubblica può usare solo 'int' o 'unsigned int' come tipo di base |
Errore del compilatore C2852 | 'identifier': solo i membri dati possono essere inizializzati all'interno di una classe |
Errore del compilatore C2853 | 'identifier': un membro dati non statico non può avere un tipo che contiene 'auto' |
Errore del compilatore C2854 | errore di sintassi in #pragma hdrstop |
Errore del compilatore C2855 | opzione della riga di comando 'option' incoerente con l'intestazione precompilata |
Errore del compilatore C2856 | #pragma hdrstop non può trovarsi all'interno di un blocco di #if |
Errore del compilatore C2857 | Istruzione '#include' specificata con l'opzione della riga di comando /Ycfilename non trovata nel file di origine |
Errore del compilatore C2858 | opzione della riga di comando '/Yc (/Fd filename)' incoerente con l'intestazione precompilata, che usa '/Fdfilename' (obsoleta in Visual Studio 2022). |
Errore del compilatore C2859 | filename non è il file filetype utilizzato quando è stata creata questa intestazione precompilata, ricreare l'intestazione precompilata. |
Errore del compilatore C2860 | 'void' non può essere usato come parametro di funzione ad eccezione di '(void)' |
Errore del compilatore C2861 | 'declaration': non è possibile definire una funzione membro dell'interfaccia |
Errore del compilatore C2862 | 'interface': un'interfaccia può avere solo membri pubblici |
Errore del compilatore C2863 | 'interface': un'interfaccia non può avere amici |
Errore del compilatore C2864 | 'identifier': una variabile membro/modello dati statica con un inizializzatore in classe deve avere un tipo integrale const non volatile |
Errore del compilatore C2865 | 'operator': confronto non valido per puntatore/handle oggetto |
Errore del compilatore C2866 | Obsoleta. |
Errore del compilatore C2867 | 'identifier': non è uno spazio dei nomi |
Errore del compilatore C2868 | 'identifier': sintassi non valida per using-declaration; expected qualified-name |
Errore del compilatore C2869 | 'identifier': è già stato definito come spazio dei nomi |
Errore del compilatore C2870 | 'identifier': una definizione dello spazio dei nomi deve essere visualizzata nell'ambito del file o immediatamente all'interno di un'altra definizione dello spazio dei nomi |
Errore del compilatore C2871 | 'identifier': uno spazio dei nomi con questo nome non esiste |
Errore del compilatore C2872 | 'identifier': simbolo ambiguo |
Errore del compilatore C2873 | 'symbol': il simbolo non può essere usato in una dichiarazione using |
Errore del compilatore C2874 | using-declaration causa una dichiarazione multipla di 'identifier' |
Errore del compilatore C2875 | using-declaration causa una dichiarazione multipla di 'class::identifier' (obsoleta in Visual Studio 2022). |
Errore del compilatore C2876 | 'class::member': non tutti gli overload sono accessibili |
Errore del compilatore C2877 | 'member' non è accessibile da 'class' |
Errore del compilatore C2878 | 'identifier': uno spazio dei nomi o una classe di questo nome non esiste |
Errore del compilatore C2879 | 'identifier': solo uno spazio dei nomi esistente può essere assegnato un nome alternativo da una definizione di alias dello spazio dei nomi |
Errore del compilatore C2880 | __swi o __hvc richiede una costante valida come primo argomento (numero SWI) |
Errore del compilatore C2881 | 'identifier': è già usato come alias per 'class' |
Errore del compilatore C2882 | 'identifier': uso non valido dell'identificatore dello spazio dei nomi nell'espressione |
Errore del compilatore C2883 | 'function': la dichiarazione di funzione è in conflitto con 'identifier' introdotta da using-declaration |
Errore del compilatore C2884 | 'identifier': introdotto da conflitti di dichiarazione using con la funzione locale 'function' |
Errore del compilatore C2885 | 'class::identifier': non una dichiarazione using valida nell'ambito non di classe |
Errore del compilatore C2886 | 'class::identifier': il simbolo non può essere usato in un membro using-declaration |
Errore del compilatore C2887 | __swi o __hvc non possono avere più di cinque argomenti (numero SWI, r0 - r3) |
Errore del compilatore C2888 | 'identifier': il simbolo non può essere definito all'interno dello spazio dei nomi 'namespace' |
Errore del compilatore C2889 | 'class': un tipo di classe managed/WinRT non può essere una classe base virtuale |
Errore del compilatore C2890 | 'class': una classe ref può avere una sola classe base non interfaccia |
Errore del compilatore C2891 | 'parameter': non può accettare l'indirizzo di un parametro di modello |
Errore del compilatore C2892 | la classe locale non dispone di modelli di membro |
Errore del compilatore C2893 | Impossibile specializzare il modello di funzione 'template' |
Errore del compilatore C2894 | Non è possibile dichiarare che i modelli abbiano un collegamento "C" |
Errore del compilatore C2895 | 'declaration': impossibile creare un'istanza esplicita di un modello di funzione dichiarato con dllimport |
Errore del compilatore C2896 | 'function1': non può usare il modello di funzione/generico 'function2' come argomento funzione (obsoleto in Visual Studio 2022). |
Errore del compilatore C2897 | Un distruttore/finalizzatore non può essere un modello di funzione |
Errore del compilatore C2898 | 'declaration': i modelli di funzione membro non possono essere virtuali |
Errore del compilatore C2899 | Obsoleta. |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Errori del compilatore C2000 - C3999, C7000 - C7999