Errori del compilatore da C3000 a C3099
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 C3000 | 'symbol': l'uso del modello di classe richiede l'elenco di argomenti del modello. La deduzione degli argomenti non è consentita nel membro dati non statico. |
Errore del compilatore C3001 | 'message': previsto un nome di direttiva OpenMP |
Errore del compilatore C3002 | 'name1 name2': più nomi di direttiva OpenMP |
Errore del compilatore C3003 | 'directive': il nome della direttiva OpenMP non è consentito dopo le clausole di direttiva |
Errore del compilatore C3004 | 'clause': clausola non valida nella direttiva 'directive' OpenMP |
Errore del compilatore C3005 | 'message': token imprevisto rilevato nella direttiva 'directive' OpenMP |
Errore del compilatore C3006 | 'clause': clausola nella direttiva 'directive' OpenMP manca un argomento previsto |
Errore del compilatore C3007 | 'clause': la clausola nella direttiva 'directive' OpenMP non accetta un argomento |
Errore del compilatore C3008 | 'argument': argomento mancante di chiusura ')' nella direttiva 'directive' OpenMP |
Errore del compilatore C3009 | 'label': passare al blocco strutturato OpenMP non consentito |
Errore del compilatore C3010 | 'label': salto dal blocco strutturato OpenMP non consentito |
Errore del compilatore C3011 | assembly inline non consentito direttamente in un'area parallela |
Errore del compilatore C3012 | 'function': funzione intrinseca non consentita direttamente all'interno di un'area parallela |
Errore del compilatore C3013 | 'clause': la clausola può essere visualizzata una sola volta nella direttiva 'directive' OpenMP |
Errore del compilatore C3014 | previsto un ciclo for dopo la direttiva 'directive' OpenMP |
Errore del compilatore C3015 | l'inizializzazione nell'istruzione 'for' OpenMP non ha un formato valido |
Errore del compilatore C3016 | 'identifier': la variabile di indice nell'istruzione 'for' OpenMP deve avere un tipo integrale con segno |
Errore del compilatore C3017 | il formato del test di terminazione nell'istruzione 'for' OpenMP non è valido |
Errore del compilatore C3018 | 'identifier': il test o l'incremento di OpenMP 'for' devono usare la variabile di indice 'variable' |
Errore del compilatore C3019 | l'incremento nell'istruzione 'for' OpenMP non è corretto |
Errore del compilatore C3020 | 'variable': variabile di indice del ciclo 'for' OpenMP non può essere modificata nel corpo del ciclo |
Errore del compilatore C3021 | 'argument': l'argomento è vuoto nella direttiva 'directive' OpenMP |
Errore del compilatore C3022 | 'directive': tipo di pianificazione 'directive' non valido nella direttiva 'directive' OpenMP |
Errore del compilatore C3023 | 'argument': token imprevisto rilevato nell'argomento della clausola 'directive' OpenMP |
Errore del compilatore C3024 | 'schedule(runtime)': chunk_size expression is not allowed |
Errore del compilatore C3025 | 'clause': espressione integrale prevista |
Errore del compilatore C3026 | 'clause': l'espressione costante deve essere positiva |
Errore del compilatore C3027 | 'clause': espressione aritmetica o puntatore prevista |
Errore del compilatore C3028 | 'member': solo una variabile o un membro dati statico può essere usato in una clausola di condivisione dati |
Errore del compilatore C3029 | 'symbol': può essere visualizzato una sola volta nelle clausole di condivisione dei dati in una direttiva OpenMP |
Errore del compilatore C3030 | 'identifier': la variabile nella clausola /direttiva 'directive' non può avere un tipo riferimento |
Errore del compilatore C3031 | 'identifier': la variabile nella clausola 'reduction' deve avere un tipo aritmetico scalare |
Errore del compilatore C3032 | 'identifier': la variabile nella clausola 'clause' non può avere un tipo incompleto 'type' |
Errore del compilatore C3033 | 'identifier': la variabile nella clausola 'clause' non può avere un tipo qualificato const |
Errore del compilatore C3034 | La direttiva 'directive' OpenMP non può essere annidata direttamente all'interno della direttiva 'directive' |
Errore del compilatore C3035 | la direttiva 'ordered' OpenMP deve essere associata direttamente a una direttiva 'for' o 'parallel for' con la clausola 'ordered' |
Errore del compilatore C3036 | 'clause': token di operatore non valido nella clausola 'reduction' OpenMP |
Errore del compilatore C3037 | 'identifier': la variabile nella clausola 'clause' deve essere condivisa nel contesto di inclusione |
Errore del compilatore C3038 | 'identifier': la variabile nella clausola 'private' non può essere una variabile di riduzione nel contesto di inclusione |
Errore del compilatore C3039 | 'identifier': variabile di indice nell'istruzione 'for' OpenMP non può essere una variabile di riduzione |
Errore del compilatore C3040 | 'identifier': il tipo di variabile nella clausola 'reduction' non è compatibile con l'operatore di riduzione 'operator' |
Errore del compilatore C3041 | 'identifier': la variabile nella clausola 'copyprivate' deve essere privata nel contesto di inclusione |
Errore del compilatore C3042 | Le clausole 'copyprivate' e 'nowait' non possono essere visualizzate insieme nella direttiva 'directive' OpenMP |
Errore del compilatore C3043 | la direttiva 'critical' OpenMP non può essere annidata in una direttiva 'critical' con lo stesso nome |
Errore del compilatore C3044 | 'section': consentita solo direttamente annidata in una direttiva 'sections' OpenMP |
Errore del compilatore C3045 | Prevista un'istruzione composta dopo la direttiva 'sections' OpenMP seguente. '{' mancante |
Errore del compilatore C3046 | Blocco strutturato mancante in un'area '#pragma omp sections' OpenMP |
Errore del compilatore C3047 | Il blocco strutturato in un'area 'sections' OpenMP deve essere preceduto da '#pragma sezione omp' (obsoleto in Visual Studio 2022). |
Errore del compilatore C3048 | Formato non valido dell'espressione successiva a '#pragma omp atomic' |
Errore del compilatore C3049 | 'argument': argomento non valido nella clausola 'default' OpenMP |
Errore del compilatore C3050 | 'class': una classe ref non può ereditare da 'identifier' |
Errore del compilatore C3051 | Obsoleta. |
Errore del compilatore C3052 | 'identifier': la variabile non viene visualizzata in una clausola di condivisione dati in una clausola default(none) |
Errore del compilatore C3053 | 'identifier': 'threadprivate' è valido solo per gli elementi di dati globali o statici |
Errore del compilatore C3054 | '#pragma parallel omp' non è attualmente supportato in una classe o una funzione generica (obsoleto in Visual Studio 2022). |
Errore del compilatore C3055 | 'identifier': il simbolo non può essere fatto riferimento prima che venga usato nella direttiva 'threadprivate' |
Errore del compilatore C3056 | 'identifier': il simbolo non si trova nello stesso ambito con la direttiva 'threadprivate' |
Errore del compilatore C3057 | 'identifier': l'inizializzazione dinamica dei simboli 'threadprivate' non è attualmente supportata |
Errore del compilatore C3058 | 'identifier': simbolo non dichiarato come 'threadprivate' prima che venga usato nella clausola 'copyin' |
Errore del compilatore C3059 | 'identifier': 'threadprivate' symbol cannot be used in the 'clause' clause' |
Errore del compilatore C3060 | 'identifier': una funzione friend non può essere definita all'interno di una classe usando un nome completo (può essere dichiarata solo) |
Errore del compilatore C3061 | operatore 'operator': non consentito nell'enumerazione 'type' con tipo sottostante 'type' |
Errore del compilatore C3062 | 'identifier': l'enumeratore richiede un valore perché il tipo sottostante è 'type' |
Errore del compilatore C3063 | operatore 'operator': tutti gli operandi devono avere lo stesso tipo di enumerazione |
Errore del compilatore C3064 | 'identifier': deve essere un tipo semplice o risolto in uno |
Errore del compilatore C3065 | la dichiarazione di proprietà in ambito non di classe non è consentita |
Errore del compilatore C3066 | esistono diversi modi in cui un oggetto di questo tipo può essere chiamato con questi argomenti |
Errore del compilatore C3067 | Non è possibile usare un elenco di inizializzatori con l'operatore predefinito[] |
Errore del compilatore C3068 | 'identifier': una funzione 'naked' non può contenere oggetti che richiedono la rimozione se si è verificata un'eccezione C++ |
Errore del compilatore C3069 | operatore 'operator': non consentito per il tipo di enumerazione |
Errore del compilatore C3070 | 'identifier': la proprietà non dispone di un metodo 'set' |
Errore del compilatore C3071 | L'operatore 'operator' può essere applicato solo a un'istanza di una classe ref o a un tipo valore |
Errore del compilatore C3072 | Impossibile applicare l'operatore 'operator' a un'istanza di una classe ref utilizzando l'operatore unario '%' per convertire un'istanza di una classe ref in un tipo handle |
Errore del compilatore C3073 | 'identifier': la classe ref non dispone di un costruttore di copia definito dall'utente |
Errore del compilatore C3074 | Non è possibile inizializzare una matrice con un inizializzatore tra parentesi |
Errore del compilatore C3075 | 'identifier': non è possibile incorporare un'istanza di un tipo riferimento, 'type', in un tipo valore |
Errore del compilatore C3076 | 'identifier': non è possibile incorporare un'istanza di un tipo riferimento, 'type', in un tipo nativo |
Errore del compilatore C3077 | 'identifier': un finalizzatore può essere solo un membro di un tipo riferimento |
Errore del compilatore C3078 | Le dimensioni della matrice devono essere specificate nelle nuove espressioni |
Errore del compilatore C3079 | Un elenco di inizializzatori non può essere utilizzato come operando destro di questo operatore di assegnazione |
Errore del compilatore C3080 | 'finalizzatore': un finalizzatore non può avere un identificatore di classe di archiviazione |
Errore del compilatore C3081 | Obsoleta. |
Errore del compilatore C3082 | Obsoleta. |
Errore del compilatore C3083 | 'identifier': il simbolo a sinistra di un '::' deve essere un tipo |
Errore del compilatore C3084 | 'identifier': un distruttore/finalizzatore non può essere 'keyword' |
Errore del compilatore C3085 | 'identifier': un costruttore non può essere 'keyword' |
Errore del compilatore C3086 | impossibile trovare 'std::initializer_list': è necessario #include initializer_list <> |
Errore del compilatore C3087 | 'identifier': chiamata di 'declaration' già inizializza questo membro |
Errore del compilatore C3088 | 'class': il costruttore dell'attributo deve avere argomenti formali denominati |
Errore del compilatore C3089 | 'identifier': il nome del parametro non corrisponde al nome di un membro dati |
Errore del compilatore C3090 | 'class': la classe attribute non può essere un modello |
Errore del compilatore C3091 | 'class': la classe attribute non può avere classi di base |
Errore del compilatore C3092 | 'class': il membro della classe attributo non può essere un campo bit, 'static' o 'const' |
Errore del compilatore C3093 | 'type': tipo non consentito per il membro della classe attributo 'member' |
Errore del compilatore C3094 | 'attribute': utilizzo anonimo non consentito |
Errore del compilatore C3095 | 'attribute': l'attributo non può essere ripetuto |
Errore del compilatore C3096 | 'attribute': l'attributo è consentito solo nei membri dati delle classi di attributi |
Errore del compilatore C3097 | 'attribute': l'attributo deve essere con ambito 'assembly:' o 'module:' |
Errore del compilatore C3098 | 'identifier': l'attributo non ha costruttori definiti dall'utente |
Errore del compilatore C3099 | 'keyword': usare [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute] per attributi gestiti/WinRT |
Vedi anche
Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Errori del compilatore C2000 - C3999, C7000 - C7999