Errori del compilatore da C3400 a C3499
Gli articoli in questa sezione della documentazione illustrano un subset dei messaggi di errore generati dal compilatore.
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 errore
Error | Messaggio |
---|---|
Errore del compilatore C3400 | dipendenza di vincoli circolari che coinvolgono 'constraint1' e 'constraint2' |
Errore del compilatore C3401 | 'specifier': identificatore di accesso all'assembly non valido: solo 'private' è consentito nei modelli di classe |
Errore del compilatore C3402 | 'function': impossibile risolvere l'overload tranne nell'ambito corrente |
Errore del compilatore C3403 | thread_local non può essere usato con /clr:pure o /clr:safe |
Errore del compilatore C3404 | 'construct': errore di sintassi imprevisto |
Errore del compilatore C3405 | 'function': impossibile risolvere l'overload senza descrittore completo |
Errore del compilatore C3406 | 'keyword': non può essere usato in un identificatore di tipo elaborato |
Errore del compilatore C3407 | 'type' non può essere usato in questo contesto |
Errore del compilatore C3408 | 'attribute': l'attributo non è consentito nelle definizioni di modello |
Errore del compilatore C3409 | blocco di attributi vuoto non consentito |
Errore del compilatore C3410 | 'identifier': il tipo dell'istanza esplicita 'type' non corrisponde al tipo del modello di variabile 'type' |
Errore del compilatore C3411 | 'type' non è valido come dimensione di una matrice perché non è un tipo integer |
Errore del compilatore C3412 | 'specializzazione': non è possibile specializzare il modello nell'ambito corrente |
Errore del compilatore C3413 | 'template': creazione di un'istanza esplicita non valida |
Errore del compilatore C3414 | 'function': non è possibile definire la funzione membro importata |
Errore del compilatore C3415 | più sezioni 'section' trovate con attributi diversi ('0xvalue') |
Errore del compilatore C3416 | Obsoleta. |
Errore del compilatore C3417 | 'declarator': i tipi valore non possono contenere funzioni membro speciali definite dall'utente |
Errore del compilatore C3418 | l'identificatore di accesso 'specifier' non è supportato |
Errore del compilatore C3419 | Obsoleta. |
Errore del compilatore C3420 | 'function': un finalizzatore non può essere virtuale |
Errore del compilatore C3421 | 'function': non è possibile chiamare il finalizzatore per questa classe perché è inaccessibile o non esiste |
Errore del compilatore C3422 | 'declaration': tipi non corrispondenti 'type' e 'type' |
Errore del compilatore C3423 | Obsoleta. |
Errore del compilatore C3424 | 'type': un cast in stile funzione a un tipo di matrice non è consentito |
Errore del compilatore C3425 | impossibile generare un puntatore all'oggetto di tipo incompleto 'type' |
Errore del compilatore C3426 | impossibile generare l'oggetto di tipo incompleto 'type' |
Errore del compilatore C3427 | 'context': 'keyword' non può essere usato con layout_version(number) |
Errore del compilatore C3428 | 'context': 'keyword' può essere applicato solo alle dichiarazioni di classe o alle definizioni |
Errore del compilatore C3429 | 'context': 'keyword' non può essere applicato a un'unione |
Errore del compilatore C3430 | Un'enumerazione con ambito deve avere un nome |
Errore del compilatore C3431 | 'identifier': type1 cannot be redeclared as type2 |
Errore del compilatore C3432 | 'identifier': una dichiarazione forward di un'enumerazione senza ambito deve avere un tipo sottostante |
Errore del compilatore C3433 | 'identifier': tutte le dichiarazioni di un'enumerazione devono avere lo stesso tipo sottostante, 'type1' ora 'type2' |
Errore del compilatore C3434 | 'context': il valore dell'enumeratore 'number' non può essere rappresentato come 'type', il valore è 'number' |
Errore del compilatore C3435 | il set di caratteri 'name' non è supportato. |
Errore del compilatore C3436 | #pragma setlocale non è supportato quando è stato specificato /source-charset, /execution-charset o /utf-8 |
Errore del compilatore C3437 | #pragma execution_character_set non è supportato quando è stato specificato /source-charset, /execution-charset o /utf-8 |
Errore del compilatore C3438 | 'context': 'value' non può essere applicato a una classe gestita/WinRT |
Errore del compilatore C3439 | layout_version(numero): numero di versione non valido |
Errore del compilatore C3440 | 'declaration': layout_version(number) incompatibile con una dichiarazione precedente |
Errore del compilatore C3441 | 'declaration': 'keyword' non può essere applicato dopo la definizione della classe |
Errore del compilatore C3442 | Inizializzazione di più membri dell'unione: 'member1' e 'member2' |
Errore del compilatore C3443 | L'inizializzatore di membro predefinito per 'class' è ricorsivo |
Errore del compilatore C3444 | La classe di aggregazione vuota 'class' deve essere inizializzata con '{}' |
Errore del compilatore C3445 | l'inizializzazione copy-list di 'type' non può usare un costruttore esplicito |
Errore del compilatore C3446 | 'class': un inizializzatore di membro predefinito non è consentito per un membro di una classe valore |
Errore del compilatore C3447 | l'operando all'operatore ?: condizionale è di tipo 'void', ma l'altro operando non è né un'espressione throw né di tipo 'void' |
Errore del compilatore C3448 | Il numero di identificatori deve corrispondere al numero di elementi o membri di matrice in una dichiarazione di associazione strutturata |
Errore del compilatore C3449 | Il numero di identificatori deve corrispondere al valore di std::tuple_size<type-name>::value in un'associazione strutturata di tipo tupla |
Errore del compilatore C3450 | 'type': non un attributo; non può specificare [System::AttributeUsageAttribute ]/[Windows::Foundation::Metadata::AttributeUsageAttribute] |
Errore del compilatore C3451 | 'attribute': impossibile applicare l'attributo non gestito a 'type' |
Errore del compilatore C3452 | membro argomento di elenco non costante |
Errore del compilatore C3453 | 'attribute': attributo non applicato perché il qualificatore 'qualificatore' non corrisponde |
Errore del compilatore C3454 | [attribute] non consentito in una dichiarazione di classe |
Errore del compilatore C3455 | 'attribute': nessuno dei costruttori di attributi corrisponde agli argomenti |
Errore del compilatore C3456 | [source-annotation-attribute] non consentito nella dichiarazione di classe gestita/WinRT |
Errore del compilatore C3457 | 'attribute': l'attributo non supporta argomenti senza nome |
Errore del compilatore C3458 | '[attribute]': attributo '[attribute]' già specificato per 'identifier' |
Errore del compilatore C3459 | '[attribute]': attributo consentito solo sull'indicizzatore di classi (proprietà indicizzata predefinita) |
Errore del compilatore C3460 | 'type': è possibile inoltrare solo un tipo definito dall'utente |
Errore del compilatore C3461 | 'type': è possibile inoltrare solo un tipo gestito/WinRT |
Errore del compilatore C3462 | 'type': è possibile inoltrare solo un tipo importato |
Errore del compilatore C3463 | 'type': tipo non consentito nell'attributo 'implements' |
Errore del compilatore C3464 | Impossibile inoltrare un tipo annidato 'type' |
Errore del compilatore C3465 | per usare il tipo 'type' è necessario fare riferimento all'assembly 'assembly' |
Errore del compilatore C3466 | 'type': una specializzazione di una classe generica non può essere inoltrata |
Errore del compilatore C3467 | 'type': questo tipo è già stato inoltrato |
Errore del compilatore C3468 | 'type': è possibile inoltrare un tipo solo a un assembly: 'identifier' non è un assembly |
Errore del compilatore C3469 | 'type': non è possibile inoltrare una classe generica |
Errore del compilatore C3470 | 'class': una classe non può avere un indicizzatore (proprietà indicizzata predefinita) e un operatore[] |
Errore del compilatore C3471 | new module name module-name (impostato nella riga di comando) è in conflitto con il nome del modulo precedente |
Errore del compilatore C3472 | nuovo nome file di output (impostato nella riga di comando) è in conflitto con il nome file del nome file precedente |
Errore del compilatore C3473 | nessun percorso di output o nome del modulo specificato. |
Errore del compilatore C3474 | impossibile aprire il file di output 'filename' |
Errore del compilatore C3475 | errore di sintassi nel file di input 'filename' |
Errore del compilatore C3476 | impossibile aprire il file 'filename' per l'input |
Errore del compilatore C3477 | Un'espressione lambda non può essere visualizzata in un contesto non valutato |
Errore del compilatore C3478 | 'identifier': non è possibile acquisire una matrice tramite copia |
Errore del compilatore C3479 | Le annotazioni SAL sulle espressioni lambda non sono supportate |
Errore del compilatore C3480 | 'variable': una variabile di acquisizione lambda deve appartenere a un ambito di funzione di inclusione |
Errore del compilatore C3481 | 'identifier': variabile lambda capture non trovata |
Errore del compilatore C3482 | è possibile utilizzare 'this' come acquisizione di espressioni lambda solo all'interno di una funzione membro non statica |
Errore del compilatore C3483 | 'identifier' fa già parte dell'elenco di acquisizioni lambda |
Errore del compilatore C3484 | errore di sintassi: previsto '->' prima del tipo restituito |
Errore del compilatore C3485 | Una definizione lambda non può avere qualificatori cv (obsoleto in Visual Studio 2022). |
Errore del compilatore C3486 | Un parametro per un'espressione lambda non può avere un argomento predefinito (obsoleto in Visual Studio 2022). |
Errore del compilatore C3487 | 'type': tutte le espressioni restituite devono dedurre allo stesso tipo: in precedenza era 'type' |
Errore del compilatore C3488 | '&identifier' non è consentito quando la modalità di acquisizione predefinita è per riferimento |
Errore del compilatore C3489 | '&identifier' è obbligatorio quando la modalità di acquisizione predefinita è copiata |
Errore del compilatore C3490 | Impossibile modificare 'identifier' perché è accessibile tramite un oggetto const |
Errore del compilatore C3491 | 'identifier': un'acquisizione di copia non può essere modificata in un'espressione lambda non modificabile |
Errore del compilatore C3492 | 'identifier': non è possibile acquisire un membro di un'unione anonima |
Errore del compilatore C3493 | Impossibile acquisire in modo implicito 'identifier' perché non è stata specificata alcuna modalità di acquisizione predefinita |
Errore del compilatore C3494 | 'this' non può essere acquisito in modo esplicito perché una modalità di acquisizione di inclusione non lo consente |
Errore del compilatore C3495 | 'identifier': l'identificatore nell'acquisizione deve essere una variabile con durata di archiviazione automatica dichiarata nell'ambito di raggiungimento dell'espressione lambda |
Errore del compilatore C3496 | 'this' viene sempre acquisito per valore. '&' verrà ignorato |
Errore del compilatore C3497 | non è possibile costruire un'istanza di un'espressione lambda |
Errore del compilatore C3498 | 'identifier': non è possibile acquisire una variabile con un tipo gestito/WinRT |
Errore del compilatore C3499 | un'espressione lambda specificata in modo che il tipo restituito sia void non può restituire un valore |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Errori del compilatore C2000 - C3999, C7000 - C7999