Condividi tramite


Errori del compilatore da C2300 a C2399

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 C2300 'class': la classe non dispone di un distruttore denominato '~class'
Errore del compilatore C2301 a sinistra di '->~identifier' deve puntare a class/struct/union
Errore del compilatore C2302 a sinistra di '.~identifier' deve essere di tipo class/struct/union
Errore del compilatore C2303 La gestione strutturata delle eccezioni non può essere usata in una coroutine
Errore del compilatore C2304 'keyword' non può essere usato all'interno di un blocco catch
Errore del compilatore C2305 'file' non contiene informazioni di debug per questo modulo
Errore del compilatore C2306 'file' non contiene le informazioni di debug più recenti per questo modulo
Errore del compilatore C2307 La direttiva pragma deve essere spostata all'esterno della funzione se la compilazione incrementale è abilitata
Errore del compilatore C2308 concatenazione di stringhe non corrispondenti
Errore del compilatore C2309 Il gestore catch prevedeva una dichiarazione di eccezione racchiusa tra parentesi
Errore del compilatore C2310 I gestori catch devono specificare un tipo
Errore del compilatore C2311 'type': viene intercettato da '...' numero di riga
Errore del compilatore C2312 'type1': viene intercettata da 'type2' sul numero di riga
Errore del compilatore C2313 'type1': viene intercettata per riferimento ('type2') sul numero di riga
Errore del compilatore C2314 parola chiave 'keyword1' è deprecata: usare invece 'keyword2'
Errore del compilatore C2315 'type1': il riferimento viene intercettato da 'type2' sul numero di riga
Errore del compilatore C2316 'type': impossibile intercettato come distruttore e/o costruttore di copia non accessibile o eliminato
Errore del compilatore C2317 Il blocco 'try' a partire dalla riga 'number' non dispone di gestori catch
Errore del compilatore C2318 nessun blocco try associato a questo gestore catch
Errore del compilatore C2319 'try/catch' deve essere seguito da un'istruzione composta. '{' mancante
Errore del compilatore C2320 previsto ':' per seguire l'identificatore di accesso 'identificatore'
Errore del compilatore C2321 'identifier' è una parola chiave e non può essere usata in questo contesto
Errore del compilatore C2322 'identifier': l'indirizzo di dllimport 'identifier' non è statico
Errore del compilatore C2323 'identifier': le funzioni nuove o delete dell'operatore non membro non possono essere dichiarate statiche o in uno spazio dei nomi diverso dallo spazio dei nomi globale
Errore del compilatore C2324 'identifier': imprevisto a destra di '::~'
Errore del compilatore C2325 'type1': tipo imprevisto a destra di '->~': previsto 'type2'
Errore del compilatore C2326 'declarator': la funzione non può accedere a 'identifier'
Errore del compilatore C2327 'identifier': non è un nome di tipo, statico o enumeratore
Errore del compilatore C2328 'keyword': parola chiave non ancora supportata
Errore del compilatore C2329 'identifier': __ptr64 non disponibile per i puntatori alle funzioni
Errore del compilatore C2330 'implementation_key( )' è valido solo in un'area vincolata da #pragma start_map_region/stop_map_region
Errore del compilatore C2331 l'accesso a 'identifier' ora definito come 'accessibility1', in precedenza era definito come 'accessibility2'
Errore del compilatore C2332 'typedef': nome tag mancante
Errore del compilatore C2333 'function': error in function declaration; skipping function body
Errore del compilatore C2334 token imprevisti precedenti a 'token'; ignorando il corpo della funzione apparente
Errore del compilatore C2335 'identifier': un tipo non può essere introdotto in un elenco di parametri di funzione
Errore del compilatore C2336 'type': tipo non valido
Errore del compilatore C2337 'attribute': attributo non trovato
Errore del compilatore C2338 (messaggio di errore dal provider esterno)
Errore del compilatore C2339 'identifier': tipo non valido in embedded-IDL
Errore del compilatore C2340 'identifier': 'static' può essere usato solo all'interno di una definizione di classe
Errore del compilatore C2341 'section': il segmento deve essere definito usando #pragma data_seg, code_seg o sezione prima di usare
Errore del compilatore C2342 errore di sintassi: qualificatori di tipo in conflitto
Errore del compilatore C2343 'section': attributi di sezione in conflitto
Errore del compilatore C2344 align(number): l'allineamento deve essere di potenza di due
Errore del compilatore C2345 align(number): valore di allineamento non valido
Errore del compilatore C2346 'function' non può essere compilato come nativo: 'spiegazione'
Errore del compilatore C2347 Obsoleta.
Errore del compilatore C2348 'type': non è un'aggregazione in stile C, non può essere esportata in IDL incorporato
Errore del compilatore C2349 'function' non può essere compilato come gestito: 'spiegazione'; usare #pragma non gestito
Errore del compilatore C2350 'identifier' non è un membro statico
Errore del compilatore C2351 sintassi di inizializzazione del costruttore C++ obsoleta
Errore del compilatore C2352 'identifier': chiamata non valida della funzione membro non statica
Errore del compilatore C2353 specifica dell'eccezione non consentita
Errore del compilatore C2354 Obsoleta.
Errore del compilatore C2355 'this': può essere fatto riferimento solo all'interno di funzioni membro non statiche o inizializzatori di membri dati non statici
Errore del compilatore C2356 il segmento di inizializzazione non deve cambiare durante l'unità di conversione
Errore del compilatore C2357 'identifier': deve essere una funzione di tipo 'type'
Errore del compilatore C2358 'identifier': una proprietà statica non può essere definita all'esterno di una definizione di classe
Errore del compilatore C2359 Obsoleta.
Errore del compilatore C2360 l'inizializzazione di 'identifier' viene ignorata dall'etichetta 'case'
Errore del compilatore C2361 l'inizializzazione di 'identifier' viene ignorata dall'etichetta 'default'
Errore del compilatore C2362 l'inizializzazione di 'identifier' viene ignorata da 'goto label'
Errore del compilatore C2363 La funzione del limite numerico intrinseco del compilatore richiede un argomento letterale stringa
Errore del compilatore C2364 'type': tipo non valido per l'attributo personalizzato
Errore del compilatore C2365 'member1': ridefinizione; la definizione precedente era 'member2'
Errore del compilatore C2366 'identifier': ridefinizione; identificatori di implementation_key diversi
Errore del compilatore C2367 Obsoleta.
Errore del compilatore C2368 'identifier': ridefinizione; identificatori di allocazione diversi
Errore del compilatore C2369 'identifier': ridefinizione; pedice diversi
Errore del compilatore C2370 'identifier': ridefinizione; classe di archiviazione diversa
Errore del compilatore C2371 'identifier': ridefinizione; tipi di base diversi
Errore del compilatore C2372 'identifier': ridefinizione; tipi diversi di riferimento indiretto
Errore del compilatore C2373 'identifier': ridefinizione; modificatori di tipo diversi
Errore del compilatore C2374 'identifier': ridefinizione; inizializzazione multipla
Errore del compilatore C2375 'identifier': ridefinizione; collegamento diverso
Errore del compilatore C2376 'identifier': ridefinizione; allocazione in base diversa
Errore del compilatore C2377 'identifier': ridefinizione; typedef non può essere sottoposto a overload con qualsiasi altro simbolo
Errore del compilatore C2378 'identifier': ridefinizione; il simbolo non può essere sottoposto a overload con un typedef
Errore del compilatore C2379 il numero di parametro formale ha un tipo diverso quando viene alzato di livello
Errore del compilatore C2380 tipi precedenti a 'identifier' (costruttore con tipo restituito o ridefinizione illegale di nome-classe corrente?)
Errore del compilatore C2381 'identifier': ridefinizione; '__declspec(noreturn)' o '[[noreturn]]' differisce
Errore del compilatore C2382 'identifier': ridefinizione; specifiche di eccezione diverse
Errore del compilatore C2383 'identifier': gli argomenti predefiniti non sono consentiti in questo simbolo
Errore del compilatore C2384 'member': impossibile applicare thread_local o __declspec(thread) a un membro di una classe gestita/WinRT
Errore del compilatore C2385 accesso ambiguo di 'member'
Errore del compilatore C2386 'identifier': un simbolo con questo nome esiste già nell'ambito corrente
Errore del compilatore C2387 'identifier': classe base ambigua
Errore del compilatore C2388 'identifier': un simbolo non può essere dichiarato con __declspec(appdomain) e __declspec(process)
Errore del compilatore C2389 'operator': operando non valido 'nullptr'
Errore del compilatore C2390 'identifier': classe di archiviazione non corretta 'identificatore'
Errore del compilatore C2391 'identifier': 'friend' non può essere usato durante la definizione del tipo
Errore del compilatore C2392 'member1': i tipi restituiti covariante non sono supportati nei tipi managed/WinRT, altrimenti 'member2' verrebbe sottoposto a override
Errore del compilatore C2393 'symbol': il simbolo per ogni appdomain non può essere allocato nel segmento 'segment'
Errore del compilatore C2394 'type::operator operator': operatore CLR/WinRT non valido. Almeno un parametro deve essere dei tipi seguenti: 'T^', 'T^%', 'T^&', dove T = 'type'
Errore del compilatore C2395 'type::operator operator': operatore CLR/WinRT non valido. Almeno un parametro deve essere dei tipi seguenti: 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&', 'T^&', dove T = 'type'
Errore del compilatore C2396 'type1::operator type2': funzione di conversione CLR/WinRT definita dall'utente non valida. Deve eseguire la conversione da o in: 'T^', 'T^%', 'T^&', dove T = 'type1'
Errore del compilatore C2397 la conversione da 'type1' a 'type2' richiede una conversione di tipo narrowing
Errore del compilatore C2398 Elemento 'number': la conversione da 'type1' a 'type2' richiede una conversione di tipo narrowing
Errore del compilatore C2399 Obsoleta.

Vedi anche

Errori e avvisi del compilatore C/C++ e degli strumenti di compilazione
Errori del compilatore C2001 - C3999, C7000 - C7999