Condividi tramite


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