Avvisi del compilatore C/C++ da C4000 a C4199

Gli articoli in questa sezione descrivono i messaggi di avviso del compilatore C/C++ da C4000 a C4199.

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 avviso

Avviso Messaggio
Avviso del compilatore (livello 4, non più generato) C4001 È stata usata l'estensione non standard 'commento a riga singola'
Avviso del compilatore (livello 1, errore) C4002 Troppi argomenti per la chiamata di macro di tipo funzione 'identifier'
Avviso del compilatore (livello 1, errore) C4003 argomenti non sufficienti per la chiamata di macro di tipo funzione 'identifier'
Avviso del compilatore (livello 1) C4005 'identifier': ridefinizione macro
Avviso del compilatore (livello 1) C4006 #undef previsto un identificatore
Avviso del compilatore (livello 3) C4007 'function': deve essere 'attribute'
Avviso del compilatore (livello 3) C4008 'function': attributo 'attribute' ignorato
Avviso del compilatore (livello 1) C4010 Il commento a riga singola contiene il carattere di continuazione riga
Avviso del compilatore (livello 3) C4013 'function' non definito; presupponendo che extern restituisca int
Avviso del compilatore (livello 1) C4015 'identifier': il tipo di campo di bit deve essere integrale
Avviso del compilatore (livello 3) C4018 'expression': signed/unsigned non corrispondente
Avviso del compilatore (livello 4) C4019 istruzione vuota in ambito globale
Avviso del compilatore (livello 1) C4020 'function': troppi parametri effettivi
Avviso del compilatore (livello 1) C4022 'function': mancata corrispondenza del puntatore per il parametro effettivo 'parameter_number'
Avviso del compilatore (livello 1) C4023 'function': puntatore basato passato alla funzione non tipizzato: parametro 'parameter_number'
Avviso del compilatore (livello 1) C4024 'function': tipi diversi per il parametro formale ed effettivo 'parameter_number'
Avviso del compilatore (livello 1) C4025 'function': puntatore basato passato alla funzione con argomenti di variabile: parametro 'parameter_number'
Avviso del compilatore (livello 1) C4026 funzione dichiarata con elenco di parametri formali
Avviso del compilatore (livello 1) C4027 funzione dichiarata senza elenco di parametri formali
Avviso del compilatore (livello 1) C4028 parametro formale parameter_number diverso dalla dichiarazione
Avviso del compilatore (livello 1) C4029 dichiarato elenco di parametri formali diverso dalla definizione
Avviso del compilatore (livello 1) C4030 primo elenco di parametri formali più lungo del secondo elenco
Avviso del compilatore (livello 1) C4031 secondo elenco di parametri formali più lungo del primo elenco
Avviso del compilatore (livello 4) C4032 il parametro formale parameter_number ha un tipo diverso quando viene alzato di livello
Avviso del compilatore (livello 1) C4033 'function' deve restituire un valore
Avviso del compilatore (livello 1) C4034 sizeof restituisce 0
Avviso del compilatore (livello 3) C4035 'function': nessun valore restituito
Avviso del compilatore (livello 1) C4036 'type' senza nome come parametro effettivo
Avviso del compilatore (livello 1) C4038 'modificatore': modificatore di classe non valido
Avviso del compilatore (livello 1) C4041 limite del compilatore: terminazione dell'output del browser
Avviso del compilatore (livello 1) C4042 'identifier': ha una classe di archiviazione non valida
Avviso del compilatore (livello 1) C4045 'array': overflow dei limiti di matrice
Avviso del compilatore (livello 1) C4047 'operator': 'identifier1' differisce nei livelli di riferimento indiretto da 'identifier2'
Avviso del compilatore (livello 1) C4048 pedice di matrice diversi: 'identifier1' e 'identifier2'
Avviso del compilatore (livello 1) C4049 limite del compilatore: emissione del numero di riga di terminazione
Avviso del compilatore (livello 1) C4051 conversione di tipo. Possibile perdita di dati
Avviso del compilatore (livello 1 e livello 4) C4052 dichiarazioni di funzione differenti. Una delle due contiene argomenti variabili
Avviso del compilatore (livello 4) C4053 un operando void per '?:'
Avviso del compilatore (livello 1) C4055 'conversion': dal puntatore dati 'type1' al puntatore a funzione 'type2'
Avviso del compilatore (livello 2) C4056 overflow nell'aritmetica costante a virgola mobile
Avviso del compilatore (livello 4) C4057 'operator': 'identifier1' differisce in riferimento indiretto a tipi di base leggermente diversi rispetto a 'identifier2'
Avviso del compilatore (livello 3, disattivato) C4060 L'istruzione switch non contiene etichette 'case' o 'default'
Avviso del compilatore (livello 4, off) C4061 l'enumeratore 'identifier' nell'opzione 'enumenumeration' non viene gestito in modo esplicito da un'etichetta case
Avviso del compilatore (livello 4, disattivato) C4062 l'enumeratore 'identifier' nell'opzione 'enumenumeration' non è gestito
Avviso del compilatore (livello 4) C4063 case 'identifier' non è un valore valido per l'opzione di enum 'enumerazione'
Avviso del compilatore (livello 4) C4064 opzione di 'enumerazione' incompleta enum
Avviso del compilatore (livello 3, disattivato) C4065 L'istruzione switch contiene 'default' ma nessuna etichetta 'case'
Avviso del compilatore (livello 3) C4066 nelle costanti a caratteri "wide", i caratteri successivi al primo verranno ignorati
Avviso del compilatore (livello 1) C4067 token imprevisti dopo la direttiva del preprocessore : previsto un nuovo codice
Avviso del compilatore (livello 1) C4068 pragma sconosciuto 'identifier'
Avviso del compilatore C4069 long double è la stessa precisione di double
Avviso del compilatore (livello 3) C4073 inizializzatori inseriti nell'area di inizializzazione della libreria
Avviso del compilatore (livello 1) C4074 inizializzatori inseriti nell'area di inizializzazione riservata del compilatore
Avviso del compilatore (livello 1) C4075 inizializzatori inseriti in un'area di inizializzazione non riconosciuta
Avviso del compilatore (livello 1) C4076 'type_modifier': non può essere usato con il tipo 'typename'
Avviso del compilatore (livello 1) C4077 opzione check_stack sconosciuta
Avviso del compilatore (livello 1) C4079 token imprevisto 'token'
Avviso del compilatore (livello 1) C4080 identificatore previsto per il nome del segmento; trovato 'symbol'
Avviso del compilatore (livello 1) C4081 previsto 'token1'; trovato 'token2'
Avviso del compilatore (livello 1) C4083 previsto 'token'; identificatore trovato 'identifier'
Avviso del compilatore (livello 1) C4085 parametro pragma previsto come 'on' o 'off'
Avviso del compilatore (livello 1) C4086 parametri pragma previsti: '1', '2', '4', '8' o '16'
Avviso del compilatore (livello 1) C4087 'function': dichiarato con elenco di parametri 'void'
Avviso del compilatore (livello 1) C4088 'function': puntatore non corrispondente nel parametro effettivo 'parameter_number', parametro formale 'parameter_number'
Avviso del compilatore (livello 1) C4089 'function': tipi diversi nel parametro effettivo 'parameter_number', parametro formale 'parameter_number'
Avviso del compilatore (livello 1) C4090 'operation': qualificatori di 'modificatore' diversi
Avviso del compilatore (livello 1 e livello 2) C4091 'keyword': ignorato a sinistra di 'type' quando non viene dichiarata alcuna variabile
Avviso del compilatore (livello 4) C4092 sizeof restituisce 'unsigned long'
Avviso del compilatore (livello 2) C4094 'token' senza tag non ha dichiarato simboli
Avviso del compilatore (livello 1) C4096 'identifier': l'interfaccia non è un'interfaccia COM; non verrà generata in IDL
Avviso del compilatore (livello 1) C4097 parametro pragma previsto come 'restore' o 'off'
Avviso del compilatore (livello 1) C4098 'function': funzione 'void' che restituisce un valore
Avviso del compilatore (livello 2) C4099 'identifier': type name first seen using 'object_type1' now seen using 'object_type2'
Avviso del compilatore (livello 4) C4100 'identifier': parametro formale senza riferimenti
Avviso del compilatore (livello 3 e livello 4) C4101 'identifier': variabile locale senza riferimenti
Avviso del compilatore (livello 3) C4102 'label': etichetta senza riferimenti
Avviso del compilatore (livello 1) C4103 allineamento modificato dopo l'inclusione dell'intestazione, potrebbe essere dovuto a mancanti #pragma pack(pop)
Avviso del compilatore (livello 1) C4109 identificatore imprevisto 'identifier'
Avviso del compilatore (livello 1 e livello 4) C4112 #line richiede un numero intero compreso tra 1 e 'line_count'
Avviso del compilatore (livello 1) C4113 'identifier1' differisce negli elenchi di parametri da 'identifier2'
Avviso del compilatore (livello 1) C4114 stesso qualificatore di tipo utilizzato più di una volta
Avviso del compilatore (livello 1 e livello 4) C4115 'type': definizione di tipo denominato tra parentesi
Avviso del compilatore (livello 1) C4116 definizione di tipo senza nome tra parentesi
Avviso del compilatore (livello 1) C4117 nome macro 'name' è riservato, 'command' ignorato
Avviso del compilatore (livello 1) C4119 base 'base1' e 'base2' diverse specificate
Avviso del compilatore (livello 1) C4120 errata corrispondenza tra based e unbased
Avviso del compilatore (livello 4) C4121 'symbol': l'allineamento di un membro era sensibile alla compressione
Avviso del compilatore (livello 1) C4122 'function': alloc_text applicabile solo alle funzioni con collegamento C
Avviso del compilatore (livello 1) C4123 espressioni di base diverse specificate
Avviso del compilatore (livello 1) C4124 __fastcall con il controllo dello stack è inefficiente
Avviso del compilatore (livello 4) C4125 sequenza di escape ottale terminata con una cifra decimale
Avviso del compilatore (livello 4) C4127 espressione condizionale costante
Avviso del compilatore (livello 1) C4129 'character': sequenza di escape dei caratteri non riconosciuta
Avviso del compilatore (livello 4) C4130 'operator': operazione logica sull'indirizzo della costante stringa
Avviso del compilatore (livello 4) C4131 'function': usa un dichiaratore di stile precedente
Avviso del compilatore (livello 4) C4132 'object': const l'oggetto deve essere inizializzato
Avviso del compilatore (livello 1 e livello 3) C4133 'expression': tipi incompatibili: da 'type1' a 'type2'
Avviso del compilatore C4137 'function': nessun valore restituito dalla funzione a virgola mobile
Avviso del compilatore (livello 1) C4138 '*/' trovato al di fuori del commento
Avviso del compilatore (livello 1, errore) C4141 'modificatore': usato più volte
Avviso del compilatore (livello 1) C4142 'identifier': ridefinizione non dannosa di tipo
Avviso del compilatore (livello 1) C4143 pragma'same_seg' non supportato; usare l'allocazione __based
Avviso del compilatore (livello 1) C4144 'expression': espressione relazionale come espressione switch
Avviso del compilatore (livello 1) C4145 'expression1': espressione relazionale come espressione switch; possibile confusione con 'expression2'
Avviso del compilatore (livello 2) C4146 Operatore unario meno applicato al tipo senza segno, risultato ancora senza segno
Avviso del compilatore (livello 2) C4150 eliminazione del puntatore al tipo incompleto 'type'; nessun distruttore chiamato
Avviso del compilatore (livello 4) C4152 estensione non standard, conversione del puntatore di funzione/dati nell'espressione
Avviso del compilatore (livello 1) C4153 conversione di puntatore a funzione/dati nell'espressione
Avviso del compilatore (livello 1) C4154 eliminazione di un'espressione di matrice; conversione in puntatore fornito
Avviso del compilatore (livello 1) C4155 eliminazione di un'espressione di matrice senza utilizzare 'delete' nella forma usata per le matrici
Avviso del compilatore (livello 2) C4156 eliminazione di un'espressione di matrice senza usare il formato di matrice 'delete'; modulo matrice sostituito
Avviso del compilatore (livello 1) C4157 pragma è stato ignorato dal compilatore C
Avviso del compilatore (livello 1) C4158 presupponendo #pragma pointers_to_members(full_generality, "inheritance_type")
Avviso del compilatore (livello 3) C4159 #pragma 'pragma': è stato inserito in precedenza l'identificatore(pop,...) 'identifier'
Avviso del compilatore (livello 1) C4160 #pragma 'pragma': l'identificatore(pop,...) 'identifier' precedentemente inserito non è stato trovato
Avviso del compilatore (livello 3) C4161 #pragma 'pragma'(pop...): più pop che push
Avviso del compilatore (livello 1) C4162 'identifier': nessuna funzione con collegamento C trovato
Avviso del compilatore (livello 1) C4163 'identifier': non disponibile come funzione intrinseca
Avviso del compilatore (livello 1) C4164 'function': funzione intrinseca non dichiarata
Avviso del compilatore (livello 3, off) C4165 'HRESULT' viene convertito in 'bool'; sei sicuro che questo è quello che vuoi?
Avviso del compilatore (livello 1) C4166 convenzione di chiamata non valida per un costruttore/distruttore
Avviso del compilatore (livello 1) C4167 'function': disponibile solo come funzione intrinseca
Avviso del compilatore (livello 1) C4168 limite del compilatore: fuori dai tipi di debugger, eliminare il database del programma 'database' e ricompilare
Avviso del compilatore (livello 1) C4172 restituzione dell'indirizzo della variabile locale o del optional_context temporaneo
Avviso del compilatore (livello 1) C4174 'name': non disponibile come #pragma component
Avviso del compilatore (livello 1) C4175 #pragma component(browser, on): le informazioni sul browser devono essere inizialmente specificate nella riga di comando
Avviso del compilatore (livello 1) C4176 'subcomponent': sottocomponente sconosciuto per #pragma component il browser
Avviso del compilatore (livello 1) C4177 #pragma 'pragma' deve essere usato solo nell'ambito globale o nello spazio dei nomi
Avviso del compilatore (livello 1) C4178 case costante 'constant' troppo grande per il tipo di espressione switch
Avviso del compilatore (livello 4, non più generato) C4179 '//*': analizzato come '/' e '/\*': confusione con i commenti standard '//'
Avviso del compilatore (livello 1) C4180 il qualificatore applicato al tipo della funzione è privo di significato. È stato ignorato.
Avviso del compilatore C4181 qualificatore applicato al tipo riferimento; ignorato
Avviso del compilatore (livello 1) C4182 #include il livello di annidamento è nest_count profondità; possibile ricorsione infinita
Avviso del compilatore (livello 1) C4183 'identifier': tipo restituito mancante; si presuppone che sia una funzione membro che restituisce 'int'
Avviso del compilatore (livello 1) C4185 ignorando l'attributo sconosciuto #import 'attribute'
Avviso del compilatore (livello 1) C4186 #l'attributo import 'attribute' richiede argomenti 'argument_count'; ignorato
Avviso del compilatore (livello 1) C4187 #import gli attributi 'attribute1' e 'attribute2' sono incompatibili; entrambi ignorati
Avviso del compilatore (livello 1) C4188 espressione costante non integrale
Avviso del compilatore (livello 3 e livello 4) C4189 'identifier': variabile locale inizializzata ma non a cui si fa riferimento
Avviso del compilatore (livello 1) C4190 'identifier1' ha specificato il collegamento C, ma restituisce il tipo definito dall'utente 'identifier2' che non è compatibile con C
Avviso del compilatore (livello 3, off) C4191 'operation': conversione non sicura da 'type_of_expression' a 'type_required'
L'esecuzione di una chiamata di funzione tramite il puntatore risultante può causare l'esito negativo del programma
Avviso del compilatore (livello 3) C4192 esclusione automatica di 'identifier' durante l'importazione della libreria dei tipi 'library'
Avviso del compilatore (livello 3) C4193 #pragma warning(pop): nessuna corrispondenza '#pragma warning(push)'
Avviso del compilatore (livello 1) C4194 #pragma start_map_region non può essere annidato; ignorato
Avviso del compilatore (livello 1) C4195 #pragma stop_map_region utilizzato senza corrispondenza #pragma start_map_region; ignorato
Avviso del compilatore (livello 1) C4196 previsto 'token1' o 'token2'; trovato 'token3'
Avviso del compilatore (livello 3) C4197 'type': il primo livello volatile nel cast viene ignorato
Avviso del compilatore (livello 1, livello 2, livello 3 e livello 4) C4199 message

Vedi anche

Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Avvisi del compilatore C4000 - C5999