Avvisi del compilatore C/C++ da C5200 a C5399
Gli articoli di questa sezione descrivono i messaggi di avviso del compilatore C/C++ da C5200 a C5399.
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 1) C5200 | la funzionalità 'feature-name' richiede il flag del compilatore 'option-name' |
Avviso del compilatore (livello 1) C5201 | Una dichiarazione di modulo può essere visualizzata solo all'inizio di un'unità di conversione, a meno che non venga usato un frammento di modulo globale |
Avviso del compilatore (livello 1) C5202 | un frammento di modulo globale può contenere solo direttive del preprocessore |
Avviso del compilatore (livello 1) C5203 | un nome dichiaratore racchiuso tra parentesi dopo 'explicit' verrà considerato un identificatore esplicito in C++20 |
Avviso del compilatore (livello 3, disattivato) C5204 | 'type-name': la classe ha funzioni virtuali, ma il distruttore semplice non è virtuale; Le istanze di oggetti derivati da questa classe potrebbero non essere destruite correttamente |
Avviso del compilatore (livello 4) C5205 | l'eliminazione di una classe astratta 'type-name' con un distruttore non virtuale comporta un comportamento non definito |
Avviso del compilatore (livello 3) C5206 | i tipi restituiti dedotti per le coroutine sono un'estensione non standard |
Avviso del compilatore (livello 1) C5207 | il requisito semplice asserisce la validità dell'espressione 'e->id '. Intendevi '{ e } -> id '? È possibile eliminare l'avviso usando '{ e->id } ' |
Avviso del compilatore (livello 1) C5208 | La classe senza nome utilizzata nel typedef nome non può dichiarare membri diversi da membri dati non statici, enumerazioni di membri o classi membro |
Avviso del compilatore (livello 1) C5209 | la sintassi C++20 per un'acquisizione init è cambiata in '& ... inizializzatore di identificatore opt' |
Avviso del compilatore (livello 1) C5210 | 'name' non è un riferimento di unità di intestazione valido; ignorando |
Avviso del compilatore (livello 1) C5212 | 'name' non è un riferimento denominato valido; trattando come riferimento al file |
Avviso del compilatore (livello 1) C5213 | Il riferimento denominato 'name' viene considerato come una partizione denominata, ma il nome non viene specificato; trattando come riferimento al file |
Avviso del compilatore (livello 4, off) C5214 | l'applicazione di 'modificatore' a un operando con un tipo qualificato volatile è deprecato in C++20 |
Avviso del compilatore (livello 4, disattivato) C5215 | 'name' un parametro di funzione con un tipo qualificato volatile è deprecato in C++20 |
Avviso del compilatore (livello 4, off) C5216 | 'name' un tipo restituito qualificato volatile è deprecato in C++20 |
Avviso del compilatore (livello 4, off) C5217 | Una dichiarazione di associazione strutturata che include volatile è deprecata in C++20 |
Avviso del compilatore (livello 1) C5218 | l'eliminazione dell'eliminazione potrebbe non comportarsi come previsto quando vengono usate opzioni non conformi '/Zc:sizedDealloc- ' o '/Zc:alignedNew- ' |
Avviso del compilatore (livello 2, off) C5219 | conversione implicita da 'type-1' a 'type-2', possibile perdita di dati |
Avviso del compilatore (livello 4, disattivato) C5220 | 'name': un membro dati non statico con un tipo qualificato volatile non implica più che i costruttori di copia/spostamento generati dal compilatore e gli operatori di assegnazione di copia/spostamento non siano semplici |
Avviso del compilatore (livello 1) C5221 | xfg::rename è deprecato. |
Avviso del compilatore (livello 3) C5222 | 'attribute-name': tutti i nomi degli attributi senza ambito sono riservati per la standardizzazione futura |
Avviso del compilatore (livello 3) C5223 | tutti i nomi degli attributi nello spazio dei nomi degli attributi 'msvc' sono riservati per l'implementazione |
Avviso del compilatore (livello 3) C5224 | tutti i nomi degli attributi nello spazio dei nomi degli attributi 'namespace-name' sono riservati per la standardizzazione futura |
Avviso del compilatore (livello 1) C5225 | 'symbol': funzione inline esportata definita in un frammento di modulo privato è un'estensione non standard |
Avviso del compilatore (livello 1) C5226 | 'symbol': il modello esportato definito nel frammento di modulo privato non ha un'istanza raggiungibile |
Avviso del compilatore (livello 4) C5227 | estensione non standard, risolta 'symbol' in 'value' che non è visibile con /permissive- on. |
Avviso del compilatore (livello 4) C5228 | estensione non standard, 'identifier' risolta in un membro di una base dipendente. Questa ricerca non è consentita in /permissive- . |
Avviso del compilatore (livello 4) C5229 | estensione non standard, la funzione Friend nascosta 'function-name' è stata trovata in base alla ricerca del nome che non è consentita in /permissive- . |
Avviso del compilatore C5230 | estensione non standard, 'identifier' è stato risolto in 'symbol-1' in /permissive . In /permissive- esso si risolverebbe in 'symbol-2'. |
Avviso del compilatore (livello 3) C5231 | L'espressione 'co_await promise.final_suspend() ' deve essere non generata |
Avviso del compilatore (livello 1) C5232 | in C++20 questo confronto chiama in modo ricorsivo 'name' |
Avviso del compilatore (livello 4, off) C5233 | L'acquisizione lambda esplicita 'identifier' non viene usata |
Avviso del compilatore (livello 1) C5234 | errore del file system: 'filename' non è un nome di intestazione valido; ignorando |
Avviso del compilatore (livello 1) C5235 | Errore di analisi JSON: messaggio; ignorando "filename" |
Avviso del compilatore (livello 1) C5236 | JSON non formato: messaggio; ignorando "filename" |
Avviso del compilatore (livello 1) C5237 | impossibile risolvere la voce dell'unità di intestazione 'name' in un file di intestazione in 'filename'; ignorando la voce |
Avviso del compilatore (livello 1) C5238 | errore del file system: impossibile aprire 'filename' per la lettura; ignorando |
Avviso del compilatore (livello 4) C5239 | 'symbol': potenzialmente genera una funzione chiamata da una funzione dichiarata __declspec(nothrow) . Il comportamento non definito può verificarsi se viene generata un'eccezione. |
Avviso del compilatore (livello 4) C5240 | 'attribute-name': l'attributo viene ignorato in questa posizione sintattica |
Avviso del compilatore (livello 1) C5241 | L'utilizzo di '/exportHeader ' per cercare header-name è deprecato; preferisce '/headerName:name value=filename' |
Avviso del compilatore (livello 1) C5242 | errore di sintassi in pragma 'identifier' |
Avviso del compilatore (livello 1, disattivato) C5243 | 'type-name': l'uso della classe incompleta 'class-name' può causare una potenziale violazione di una regola di definizione a causa della limitazione ABI |
Avviso del compilatore (livello 1) C5244 | '#include <filename>' nella visualizzazione purview del modulo 'module-name-1' appare errato. Prendere in considerazione lo spostamento di tale direttiva prima della dichiarazione del modulo o sostituire l'inclusione testuale con "import <module-name-2>;". |
Avviso del compilatore (livello 4, off) C5245 | 'function': funzione senza riferimenti con collegamento interno rimossa |
Avviso del compilatore (livello 1, disattivato) C5246 | 'member': l'inizializzazione di un oggetto secondario deve essere racchiusa tra parentesi graffe |
Avviso del compilatore (livello 1, off) C5247 | la sezione 'section-name' è riservata per l'inizializzazione dinamica C++. La creazione manuale della sezione interferisce con l'inizializzazione dinamica C++ e può causare un comportamento non definito |
Avviso del compilatore (livello 1, disattivato) C5248 | la sezione 'section-name' è riservata per l'inizializzazione dinamica C++. Le variabili inserite manualmente nella sezione possono essere ottimizzate e il relativo ordine relativo agli inizializzatori dinamici generati dal compilatore non è specificato. |
Avviso del compilatore (livello 1, disattivato) C5249 | 'bitfield' di tipo 'enumeration_name' ha enumeratori denominati con valori che non possono essere rappresentati nella larghezza del campo di bit specificata di 'bitfield_width'. |
Avviso del compilatore (livello 3, disattivato) C5250 | 'function_name': funzione intrinseca non dichiarata. |
Avviso del compilatore (livello 4, off) C5251 | segment-name modificato dopo l'inclusione dell'intestazione |
Avviso del compilatore (livello 4) C5252 | Più tipi diversi hanno generato lo stesso valore hash di tipo XFG; il PDB registrerà solo le informazioni per uno di essi |
Avviso del compilatore (livello 4) C5253 | Un'espressione lambda non locale non può avere un'impostazione predefinita di acquisizione |
Avviso del compilatore (livello 4, disattivato) C5254 | La funzionalità del linguaggio 'terse static assert' richiede il flag del compilatore '/std:c++17' |
Avviso del compilatore (livello 3) C5255 | carattere bidirezionale unterminated rilevato: 'U+XXXX' |
Avviso del compilatore (livello 1, disattivato) C5256 | 'enumerazione': una dichiarazione non di definizione di un'enumerazione con un tipo sottostante fisso è consentita solo come dichiarazione autonoma |
Avviso del compilatore (livello 1 o 4) C5257 | 'enumeration': l'enumerazione è stata dichiarata in precedenza senza un tipo sottostante fisso |
Avviso del compilatore (livello 4, disattivato) C5258 | L'acquisizione esplicita di 'symbol' non è necessaria per questo uso |
Avviso del compilatore (livello 4, off) C5259 | 'specialized-type': la specializzazione esplicita richiede 'template <>' |
Avviso del compilatore (livello 1) C5260 | La variabile costante 'variable-name' ha un collegamento interno in un contesto di file di intestazione incluso, ma un collegamento esterno nel contesto dell'unità di intestazione importata; valutare la possibilità di dichiararlo "inline" anche se verrà condiviso tra unità di conversione o 'static' per esprimere l'intento di usarlo localmente in questa unità di conversione |
Avviso del compilatore (livello 2) C5261 | Nessun tipo integer può rappresentare tutti i valori dell'enumeratore nell'enumerazione 'enum-name' |
Avviso del compilatore (livello 1, errore, off) C5262 | il fall-through implicito si verifica qui; manca un'istruzione di interruzione? Usare [[fallthrough]] quando un'istruzione break viene intenzionalmente omessa tra i casi |
Avviso del compilatore (livello 4, off) C5263 | la chiamata di 'std::move ' su un oggetto temporaneo impedisce l'elisione della copia |
Avviso del compilatore (livello 4, off) C5264 | 'variable-name': variabile 'const' non usata |
Avviso del compilatore (livello 1) C5265 | impossibile aprire il percorso di ricerca 'path' |
Avviso del compilatore (livello 4, disattivato) C5266 | Il qualificatore 'const' sul tipo restituito non ha alcun effetto |
Avviso del compilatore C5267 | la definizione dell'operatore di assegnazione/costruttore di copia implicita per 'type' è deprecata perché dispone di un costruttore di assegnazione/copia fornito dall'utente |
Avviso del compilatore (livello 1) C5268 | Impossibile allocare memoria all'indirizzo fisso 0x. Usare /Yb per specificare una base di indirizzi specifica se sono necessari file con estensione pch identici a bit. |
Avviso del compilatore (livello 1) C5269 | Impossibile allocare memoria PCH in corrispondenza dell'indirizzo 0xfisso. Usare /Ym per specificare una base di indirizzi specifica se sono necessari file con estensione pch identici a bit. |
Avviso del compilatore (livello 3) C5270 | 'value' non è consentito per l'opzione 'switch name'; i valori consentiti sono: elenco valori |
Avviso del compilatore (livello 4) C5271 | L'assembly 'assembly1' importato in precedenza ha lo stesso nome dell'assembly 'assembly2' da importare. È intenzionale? |
Avviso del compilatore (livello 1) C5272 | la creazione di un oggetto di tipo non copiabile 'type' non è standard. Se è necessaria una copia in fase di esecuzione, verrà eseguita come se fosse memcpy . |
Avviso del compilatore (livello 1) C5273 | modifica del comportamento: _Alignas sul tipo anonimo non viene più ignorato (i membri alzati di livello verranno allineati) |
Avviso del compilatore (livello 1) C5274 | modifica del comportamento: _Alignas non si applica più al tipo 'type' (si applica solo agli oggetti dati dichiarati) |
Avviso del compilatore (errore) C5275 | assembly di facciata 'name' importato in '/clr '; opzione mancante '/clr:netcore '? |
Avviso del compilatore (livello 1, errore) C5300 | '#pragma omp atomic': l'operando sinistro di 'operator' deve corrispondere al lato sinistro dell'espressione di assegnazione |
Avviso del compilatore (livello 1) C5301 | '#pragma omp for': 'loop-index' aumenta mentre la condizione del ciclo usa 'comparison'; ciclo non terminante? |
Avviso del compilatore (livello 1) C5302 | '#pragma omp for': 'loop-index' diminuisce mentre la condizione del ciclo usa 'comparison'; ciclo non terminante? |
Avviso del compilatore (livello 1) C5303 | la funzione contrassegnata con [[msvc::intrinsic]] non ha comportato un cast no-op |
Avviso del compilatore (livello 1) C5304 | Una dichiarazione designata dalla dichiarazione using 'name1' esportata da questo modulo ha un collegamento interno e l'uso di un nome di questo tipo all'esterno del modulo non è valido. Valutare la possibilità di dichiarare 'name2' 'inline ' per usarla all'esterno di questo modulo |
Avviso del compilatore (livello 1) C5305 | 'name': una dichiarazione di creazione di istanze esplicita che segue una definizione di creazione di istanze esplicita viene ignorata |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Avvisi del compilatore C4000 - C5999