Avvisi del compilatore C/C++ da C4600 a C4799
Gli articoli di questa sezione descrivono i messaggi di avviso del compilatore C/C++ da C4600 a C4799.
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) C4600 | #pragma 'nome macro': è prevista una stringa non vuota valida |
Avviso del compilatore (livello 1) C4602 | #pragma pop_macro: 'nome macro' non #pragma push_macro precedente per questo identificatore |
Avviso del compilatore (livello 1) C4603 | 'identifier': la macro non è definita o la definizione è diversa dopo l'uso dell'intestazione precompilata |
Avviso del compilatore (livello 1) C4604 | 'type': il passaggio dell'argomento per valore attraverso il limite nativo e gestito richiede un costruttore di copia valido. In caso contrario, il comportamento di runtime non è definito |
Avviso del compilatore (livello 1) C4605 | '/Dmacro' specificata nella riga di comando corrente, ma non è stata specificata quando è stata compilata l'intestazione precompilata |
Avviso del compilatore (livello 1) C4606 | #pragma avviso: "numero di avviso" ignorato; Gli avvisi di analisi del codice non sono associati ai livelli di avviso |
Avviso del compilatore (livello 3) C4608 | 'union_member' è già stato inizializzato dal membro di un'altra unione nell'elenco degli inizializzatori, 'union_member' |
Avviso del compilatore (livello 3, errore) C4609 | 'type1' deriva dall'interfaccia predefinita 'interface' nel tipo 'type2'. Usare un'interfaccia predefinita diversa per "type1" o interrompere la relazione di base/derivata. |
Avviso del compilatore (livello 4) C4610 | Impossibile creare un'istanza dell'oggetto 'class'. È necessario un costruttore definito dall'utente |
Avviso del compilatore (livello 4) C4611 | l'interazione tra 'function' e la distruzione di oggetti C++ non è portabile |
Avviso del compilatore (livello 1) C4612 | errore nel nome del file di inclusione |
Avviso del compilatore (livello 1) C4613 | 'symbol': la classe di segmento non può essere modificata |
Avviso del compilatore (livello 1) C4615 | avviso #pragma: tipo di avviso utente sconosciuto |
Avviso del compilatore (livello 1) C4616 | avviso #pragma: numero di avviso 'number' non valido del compilatore |
Avviso del compilatore (livello 1) C4618 | i parametri pragma includevano una stringa vuota; pragma ignorato |
Avviso del compilatore (livello 3) C4619 | avviso #pragma: nessun numero di avviso '%d' |
Avviso del compilatore (livello 1) C4620 | nessuna forma suffissa trovata di 'operator ++' per il tipo 'type'. Verrà utilizzata la forma prefissa |
Avviso del compilatore (livello 1) C4621 | nessuna forma di prefisso 'operator --' trovato per il tipo 'type', utilizzando il formato prefisso |
Avviso del compilatore (livello 3) C4622 | sovrascrittura delle informazioni di debug formate durante la creazione dell'intestazione precompilata nel file oggetto: 'file' |
Avviso del compilatore (livello 4) C4623 | 'classe derivata': il costruttore predefinito è stato definito in modo implicito come eliminato perché un costruttore predefinito della classe di base non è accessibile o eliminato |
Avviso del compilatore (livello 1) C4624 | 'classe derivata': il distruttore è stato definito in modo implicito come eliminato perché un distruttore della classe di base è inaccessibile o eliminato |
Avviso del compilatore (livello 4) C4625 | 'classe derivata': il costruttore di copia è stato definito in modo implicito come eliminato perché un costruttore di copia della classe di base non è accessibile o eliminato |
Avviso del compilatore (livello 4) C4626 | 'classe derivata': l'operatore di assegnazione è stato definito in modo implicito come eliminato perché un operatore di assegnazione della classe di base non è accessibile o eliminato |
Avviso del compilatore (livello 1) C4627 | '<identifier>': ignorato quando si cerca l'uso dell'intestazione precompilata |
Avviso del compilatore (livello 1) C4628 | digraph non supportati con -Ze. Sequenza di caratteri 'digraph' non interpretata come token alternativo per '%s' |
Avviso del compilatore (livello 4) C4629 | utilizzato digraph; la sequenza di caratteri 'digraph' è stata interpretata come token 'char' (se non è corretto, inserire uno spazio tra i due caratteri) |
Avviso del compilatore (livello 1) C4630 | 'symbol': identificatore di classe di archiviazione 'extern' non valido nella definizione del membro |
Avviso del compilatore (livello 2) C4631 | MSXML o XPath non disponibile, i commenti ai documenti XML non verranno elaborati. reason |
Avviso del compilatore (livello 1) C4632 | Commento documento XML: file - Accesso negato: motivo |
Avviso del compilatore (livello 3) C4633 | Destinazione commento documento XML: errore: motivo |
Avviso del compilatore (livello 4) C4634 | Destinazione commento documento XML: non può essere applicato: motivo |
Avviso del compilatore (livello 3) C4635 | commento al documento XML di destinazione: XML in formato non valido: motivo |
Avviso del compilatore (livello 3) C4636 | Commento documento XML applicato al costrutto: il tag richiede un attributo 'attribute' non vuoto. |
Avviso del compilatore (livello 3 e livello 4) C4637 | Destinazione commento documento XML: <includere> tag scartati. Motivo |
Avviso del compilatore (livello 3) C4638 | Destinazione commento documento XML: riferimento al simbolo sconosciuto 'symbol'. |
Avviso del compilatore (livello 4) C4639 | Errore MSXML, i commenti del documento XML non verranno elaborati. Motivo |
Avviso del compilatore (livello 3) C4640 | 'istanza': la costruzione di oggetti statici locali non è thread-safe |
Avviso del compilatore (livello 3) C4641 | Il commento al documento XML ha un riferimento incrociato ambiguo: |
Avviso del compilatore (livello 1) C4642 | 'class': impossibile importare i vincoli per il parametro generico 'name' |
Avviso del compilatore (livello 4, off) C4643 | La dichiarazione di inoltro 'identifier' nello spazio dei nomi std non è consentita dallo standard C++. |
Avviso del compilatore (livello 1) C4644 | l'utilizzo del modello basato su offsetof macro nelle espressioni costanti non è standard; l'uso offsetof definito nella libreria standard C++ è invece definito nella libreria standard C++. |
Avviso del compilatore (livello 3) C4645 | la funzione dichiarata con __declspec(noreturn) ha un'istruzione return |
Avviso del compilatore (livello 3) C4646 | la funzione dichiarata con __declspec(noreturn) deve restituire un tipo non void |
Avviso del compilatore (livello 3) C4647 | modifica del comportamento: __is_pod(tipo) ha un valore diverso nelle versioni precedenti |
Avviso del compilatore (livello 3) C4648 | L'attributo standard 'carries_dependency' viene ignorato |
Avviso del compilatore (livello 3) C4649 | gli attributi vengono ignorati in questo contesto |
Avviso del compilatore (livello 1) C4650 | debug di informazioni non nell'intestazione precompilata; saranno disponibili solo simboli globali dall'intestazione |
Avviso del compilatore (livello 1) C4651 | 'definition' specificato per l'intestazione precompilata ma non per la compilazione corrente |
Avviso del compilatore (livello 1) C4652 | opzione del compilatore 'option' incoerente con l'intestazione precompilata; l'opzione corrente della riga di comando sostituirà quella definita nell'intestazione precompilata |
Avviso del compilatore (livello 2) C4653 | opzione del compilatore 'option' incoerente con l'intestazione precompilata; opzione corrente della riga di comando ignorata |
Avviso del compilatore (livello 4) C4654 | Il codice inserito prima dell'inclusione della riga di intestazione precompilata verrà ignorato. Aggiungere codice all'intestazione precompilata. |
Avviso del compilatore (livello 1) C4655 | 'symbol': il tipo di variabile è nuovo dopo la compilazione più recente o è definito in modo diverso altrove |
Avviso del compilatore (livello 1) C4656 | 'symbol': il tipo di dati è nuovo o è stato modificato dopo la build più recente o è definito in modo diverso altrove |
Avviso del compilatore (livello 1) C4657 | Expression implica un tipo di dati nuovo dopo la build più recente |
Avviso del compilatore (livello 1) C4658 | 'function': il prototipo di funzione è nuovo dalla build più recente o è dichiarato in modo diverso altrove |
Avviso del compilatore (livello 1) C4659 | #pragma 'pragma': l'uso del segmento riservato 'segment' ha un comportamento non definito, usare #pragma comment(linker, ...) |
Avviso del compilatore (livello 1) C4661 | 'identifier': nessuna definizione appropriata fornita per la richiesta di creazione di istanze del modello esplicito |
Avviso del compilatore (livello 1) C4662 | creazione di un'istanza esplicita. La classe modello 'identifier1' non ha definizioni da cui specializzare 'identifier2' |
Avviso del compilatore (livello 1) C4667 | 'function': nessun modello di funzione definito che corrisponde alla creazione di istanze forzate |
Avviso del compilatore (livello 4) C4668 | 'symbol' non è definito come macro del preprocessore, sostituendo con '0' per 'directive' |
Avviso del compilatore (livello 1) C4669 | 'cast': conversione unsafe: 'class' è un oggetto di tipo gestito |
Avviso del compilatore (livello 4) C4670 | 'identifier': questa classe di base non è accessibile |
Avviso del compilatore (livello 4) C4671 | 'identifier': il costruttore di copia non è accessibile |
Avviso del compilatore (livello 4) C4672 | 'identifier1': ambiguo. Precedentemente visto come 'identifier2' |
Avviso del compilatore (livello 4) C4673 | la creazione di 'identificatore' i tipi seguenti non verranno considerati nel sito catch |
Avviso del compilatore (livello 1) C4674 | 'method' deve essere dichiarato 'static' e avere esattamente un parametro |
Avviso del compilatore (livello 4) C4676 | '%s': il distruttore è inaccessibile |
Avviso del compilatore (livello 1) C4677 | 'function': la firma del membro non privato contiene il tipo privato dell'assembly 'private_type' |
Avviso del compilatore (livello 1) C4678 | classe base 'base_type' meno accessibile di 'derived_type' |
Avviso del compilatore (livello 1) C4679 | 'member': impossibile importare un membro |
Avviso del compilatore (livello 4) C4680 | 'class': la coclasse non specifica un'interfaccia predefinita |
Avviso del compilatore (livello 4) C4681 | 'class': la coclasse non specifica un'interfaccia predefinita che è un'origine evento |
Avviso del compilatore (livello 4) C4682 | 'parameter': nessun attributo di parametro direzionale specificato, il valore predefinito è [in] |
Avviso del compilatore (livello 1) C4683 | 'function': l'origine evento ha un parametro 'out'-parameter; prestare attenzione quando si associano più gestori eventi |
Avviso del compilatore (livello 1) C4684 | 'attribute': WARNING!! l'attributo può causare una generazione di codice non valida: usare con cautela |
Avviso del compilatore (livello 1) C4685 | previsto '' trovato '>>>>' durante l'analisi dei parametri del modello |
Avviso del compilatore (livello 3) C4686 | 'tipo-definito dall'utente': possibile modifica del comportamento. Modifica nella convenzione di chiamata per il valore restituito del tipo definito dall'utente. |
Avviso del compilatore (errore) C4687 | 'class': una classe astratta sealed non può implementare un'interfaccia 'interface' |
Avviso del compilatore (livello 1) C4688 | 'constraint': l'elenco di vincoli contiene il tipo privato 'type' dell'assembly |
Avviso del compilatore (livello 1) C4689 | '%c': carattere non supportato in #pragma detect_mismatch; #pragma ignorato |
Avviso del compilatore (livello 4) C4690 | [ emitidl( pop ) ]: più pop che push |
Avviso del compilatore (livello 1) C4691 | 'type': il tipo a cui si fa riferimento era previsto nell'assembly non referenziato 'file', il tipo definito nell'unità di conversione corrente usata invece |
Avviso del compilatore (livello 1) C4692 | 'funzione': la firma del membro non privato contiene il tipo nativo privato 'tipo_nativo' dell'assembly |
Avviso del compilatore (livello 1, errore) C4693 | 'class': una classe astratta sealed non può avere membri dell'istanza 'instance member' |
Avviso del compilatore (livello 1, errore) C4694 | 'class': una classe astratta sealed non può avere una classe base 'base_class' |
Avviso del compilatore (livello 1) C4695 | #pragma execution_character_set: 'set di caratteri' non è un argomento supportato: attualmente è supportato solo 'UTF-8' |
Avviso del compilatore (livello 1) C4696 | Opzione /ZBvalue1 non compreso nell'intervallo; presupponendo 'value2' |
Avviso del compilatore (livello 3) C4698 | 'feature' è solo a scopo di valutazione ed è soggetto a modifiche o rimozione negli aggiornamenti futuri. |
Avviso del compilatore (livello 1 e livello 4) C4700 | variabile locale non inizializzata 'name' usata |
Avviso del compilatore (livello 4) C4701 | variabile locale potenzialmente non inizializzata 'name' usata |
Avviso del compilatore (livello 4) C4702 | codice non raggiungibile |
Avviso del compilatore (livello 4) C4703 | variabile puntatore locale potenzialmente non inizializzata '%s' usata |
Avviso del compilatore (livello 4) C4706 | assegnazione all'interno dell'espressione condizionale |
Avviso del compilatore (livello 4) C4709 | Operatore virgola all'interno dell'espressione di indice di matrice |
Avviso del compilatore (livello 4) C4710 | 'funzione': funzione non resa inline |
Avviso del compilatore (livello 1) C4711 | funzione 'function' selezionata per l'espansione inline automatica |
Avviso del compilatore (livello 4) C4714 | funzione 'function' contrassegnata come __forceinline non inlined |
Avviso del compilatore (livello 1) C4715 | 'function': non tutti i percorsi di controllo restituiscono un valore |
Avviso del compilatore (livello 1, errore) C4716 | 'function': deve restituire un valore |
Avviso del compilatore (livello 1) C4717 | 'function': ricorsiva in tutti i percorsi di controllo, la funzione causerà l'overflow dello stack di runtime |
Avviso del compilatore (livello 4) C4718 | 'chiamata di funzione': la chiamata ricorsiva non ha effetti collaterali, eliminazione |
Avviso del compilatore (livello 1) C4719 | Costante doppia trovata quando viene specificato Qfast: usare 'f' come suffisso per indicare la precisione singola |
Avviso del compilatore (livello 2) C4720 | Report dell'assembler inline: 'message' |
Avviso del compilatore (livello 1) C4721 | 'function': non disponibile come intrinseco |
Avviso del compilatore (livello 1) C4722 | 'function': distruttore non restituisce mai, potenziale perdita di memoria |
Avviso del compilatore (livello 3) C4723 | potenziale divisione per 0 |
Avviso del compilatore (livello 3) C4724 | possibile mod per 0 |
Avviso del compilatore (livello 3) C4725 | l'istruzione potrebbe non risultare corretta per alcuni Pentium |
Avviso del compilatore C4726 | ARM arch4/4T supporta solo '<cpsr_f o <spsr_f>>' con valore immediato |
Avviso del compilatore (livello 1) C4727 | PCH denominato pch_file con lo stesso timestamp trovato in obj_file_1 e obj_file_2. Uso del primo PCH. |
Avviso del compilatore (livello 1) C4728 | Opzione /Yl- ignorata perché il riferimento PCH è obbligatorio |
Avviso del compilatore (livello 4) C4729 | funzione troppo grande per avvisi basati su grafico del flusso |
Avviso del compilatore (livello 1) C4730 | 'main': la combinazione di espressioni _m64 e a virgola mobile può comportare codice non corretto |
Avviso del compilatore (livello 1) C4731 | 'puntatore': registro del puntatore del frame 'register' modificato dal codice assembly inline |
Avviso del compilatore (livello 1) C4732 | '%s' intrinseco non è supportato in questa architettura |
Avviso del compilatore (livello 1) C4733 | Asm inline assegnato a 'FS:0': gestore non registrato come gestore sicuro |
Avviso del compilatore C4734 | Più di 64.000 numeri di riga in una sezione informazioni di debug COFF; interrompere l'emissione di numeri di riga di debug COFF per il modulo 'module' |
Avviso del compilatore C4735 | align_function l'argomento attributo 'argument' non è una potenza di due e non è positivo. Ignorare l'attributo |
Avviso del compilatore C4736 | align_function attributo ignorato perché /Gy non è stato specificato |
Avviso del compilatore (livello 3) C4738 | archiviazione in memoria del risultato float a 32 bit, possibile riduzione delle prestazioni |
Avviso del compilatore (livello 1) C4739 | il riferimento alla variabile 'var' supera lo spazio di archiviazione |
Avviso del compilatore (livello 4) C4740 | il flusso in ingresso o fuori dal codice asm inline elimina l'ottimizzazione globale |
Avviso del compilatore (livello 1) C4742 | 'var' ha un allineamento diverso in 'file1' e 'file2': numero e numero |
Avviso del compilatore (livello 1) C4743 | 'type' ha dimensioni diverse in 'file1' e 'file2': numero e byte numerici |
Avviso del compilatore (livello 1) C4744 | 'var' ha un tipo diverso in 'file1' e 'file2': 'type1' e 'type2' |
Avviso del compilatore C4745 | L'accesso volatile di 'name' non può essere rispettato a causa delle dimensioni |
Avviso del compilatore C4746 | L'accesso volatile di 'expression' è soggetto all'impostazione /volatile:<iso|ms> ; prendere in considerazione l'uso di funzioni intrinseche __iso_volatile_load/store |
Avviso del compilatore (livello 1) C4747 | Chiamata gestita 'entrypoint': il codice gestito potrebbe non essere eseguito con il blocco del caricatore, incluso il punto di ingresso della DLL e le chiamate raggiunte dal punto di ingresso della DLL |
Avviso del compilatore (livello 4) C4749 | supportato in modo condizionale: offsetof applicato al tipo di layout non standard 'type' |
Avviso del compilatore (livello 1) C4750 | 'identifier': funzione con _alloca() resa inline in un ciclo |
Avviso del compilatore (livello 4) C4751 | /arch:AVX non si applica alle estensioni SIMD di streaming Intel(R) che si trovano all'interno di ASM inline |
Avviso del compilatore (livello 4) C4752 | trovato Intel(R) Advanced Vector Extensions; prendere in considerazione l'uso di /arch:AVX |
Avviso del compilatore C4753 | Impossibile trovare i limiti per il puntatore; Funzione intrinseca MPX ignorata |
Avviso del compilatore (livello 4) C4754 | Le regole di conversione per le operazioni aritmetiche nel confronto in %s(%d) indicano che non è possibile eseguire un ramo. Eseguire il cast di '%s' a '%s' o a un tipo simile di %d byte. |
Avviso del compilatore C4755 | Le regole di conversione per le operazioni aritmetiche nel confronto in %s(%d) indicano che non è possibile eseguire un ramo in una funzione inlined. Eseguire il cast di '%s' a '%s' o a un tipo simile di %d byte. |
Avviso del compilatore (livello 2) C4756 | overflow in costante aritmetica |
Avviso del compilatore (livello 4) C4757 | l'indice è un valore senza segno di grandi dimensioni, è stata prevista una costante negativa? |
Avviso del compilatore C4761 | dimensione integrale non corrispondente nell'argomento; conversione fornita |
Avviso del compilatore (livello 4) C4764 | Impossibile allineare gli oggetti catch a più di 16 byte |
Avviso del compilatore (livello 4) C4767 | il nome di sezione '%s' è più lungo di 8 caratteri e verrà troncato dal linker |
Avviso del compilatore (livello 3) C4768 | __declspec attributi prima che la specifica di collegamento venga ignorata |
Avviso del compilatore (livello 4) C4770 | enumerazione parzialmente convalidata 'name' usata come indice |
Avviso del compilatore C4771 | I limiti devono essere creati usando un semplice puntatore; Funzione intrinseca MPX ignorata |
Avviso del compilatore (livello 1, errore) C4772 | #import fatto riferimento a un tipo da una libreria dei tipi mancante; 'missing_type' utilizzato come segnaposto |
Avviso del compilatore (livello 4) C4774 | 'string': stringa di formato prevista nel numero di argomento non è un valore letterale stringa |
Avviso del compilatore (livello 3) C4775 | estensione non standard usata nella stringa di formato 'string' della funzione 'function' |
Avviso del compilatore (livello 1) C4776 | '%character' non è consentito nella stringa di formato della funzione 'function' |
Avviso del compilatore (livello 4) C4777 | 'function': la stringa di formato 'string' richiede un argomento di tipo 'type1', ma il numero di argomento variadic ha tipo 'type2' |
Avviso del compilatore (livello 3) C4778 | 'function': stringa di formato senza terminazione 'string' |
Avviso del compilatore (livello 1) C4788 | 'identifier': l'identificatore è stato troncato in caratteri 'number' |
Avviso del compilatore (livello 1) C4789 | verrà eseguito l'overrun del buffer 'identifier' di dimensioni pari a N byte; M byte verranno scritti a partire dall'offset L |
Avviso del compilatore (livello 2) C4792 | funzione '%s' dichiarata usando sysimport e a cui viene fatto riferimento dal codice nativo; importare la libreria necessaria per il collegamento |
Avviso del compilatore (livello 1 e 3) C4793 | 'function': funzione compilata come nativa: 'reason' |
Avviso del compilatore (livello 1) C4794 | segmento della variabile di archiviazione locale del thread '%s' modificato da '%s' a '%s' |
Avviso del compilatore C4798 | codice nativo generato per la funzione p-code 'name' con gestore eccezioni o semantica di rimozione |
Avviso del compilatore (livello 1) C4799 | la funzione 'function' non ha istruzioni EMMS |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Avvisi del compilatore C4000 - C5999