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