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 'enum enumeration' non viene gestito in modo esplicito da un'etichetta case |
Avviso del compilatore (livello 4, disattivato) C4062 | l'enumeratore 'identifier' nell'opzione 'enum enumeration' 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