Condividi tramite


Errori del compilatore da C2500 a C2599

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 C2500 'identifier1': 'identifier2' è già una classe base diretta
Errore del compilatore C2501 'identifier': '__declspec(identificatore)' può essere applicato solo a struct, unioni, classi o membri di campi di bit senza segno
Errore del compilatore C2502 'identifier': troppi modificatori di accesso nella classe base
Errore del compilatore C2503 'class': le classi di base non possono contenere matrici di dimensioni zero
Errore del compilatore C2504 'class': classe base non definita
Errore del compilatore C2505 'symbol': '__declspec(identificatore)' può essere applicato solo a dichiarazioni o definizioni di oggetti globali o membri dati statici
Errore del compilatore C2506 'member': '__declspec(identificatore)' non può essere applicato a questo simbolo
Errore del compilatore C2507 'identifier': troppi modificatori virtuali nella classe di base
Errore del compilatore C2508 'identifier': '__declspec(specifier1)' non può essere combinato con '__declspec(specifier2)'
Errore del compilatore C2509 'identifier': funzione membro non dichiarata in 'class'
Errore del compilatore C2510 'identifier': left of '::' must be a class/struct/union
Errore del compilatore C2511 'identifier': funzione membro di overload non trovata in 'class'
Errore del compilatore C2512 'identifier': nessun costruttore predefinito appropriato disponibile
Errore del compilatore C2513 '*type': nessuna variabile dichiarata prima di '='
Errore del compilatore C2514 'class': la classe non ha costruttori
Errore del compilatore C2515 'identifier': 'vtguard' può essere applicato solo alle dichiarazioni di classe o alle definizioni
Errore del compilatore C2516 'class': non è una classe di base legale
Errore del compilatore C2517 'identifier': il diritto di '::' non è definito
Errore del compilatore C2518 parola chiave 'keyword' illegale nell'elenco delle classi di base; ignorato
Errore del compilatore C2519 'identifier': gli attributi WinRT possono contenere solo campi pubblici
Errore del compilatore C2520 'class': nessun costruttore non esplicito disponibile per la conversione implicita
Errore del compilatore C2521 un distruttore/finalizzatore non accetta argomenti
Errore del compilatore C2522 'identifier': l'identificatore di overload non può essere usato in 'identifier1' perché è già specificato in 'identifier2'
Errore del compilatore C2523 'class::~identifier': destructor/finalizer tag non corrispondente
Errore del compilatore C2524 'identifier': un distruttore/finalizzatore deve avere un elenco di parametri 'void'
Errore del compilatore C2525 'identifier': il parametro 'identifier1' è denominato 'identifier2' nella funzione di base e deve essere confrontato in un'implementazione pubblicata
Errore del compilatore C2526 'identifier1': La funzione di collegamento C non può restituire la classe C++ 'identifier2'
Errore del compilatore C2527 'identifier': DefaultOverload non può essere specificato sia su 'function1' che su 'function2'. Rimuovere una specifica o rinominare la funzione durante l'implementazione
Errore del compilatore C2528 'identifier': puntatore a riferimento non valido
Errore del compilatore C2529 'identifier': il riferimento al riferimento non è valido
Errore del compilatore C2530 'identifier': i riferimenti devono essere inizializzati
Errore del compilatore C2531 'identifier': riferimento a un campo di bit non valido
Errore del compilatore C2532 'identifier': modificatore non valido per riferimento
Errore del compilatore C2533 'identifier': costruttori non consentiti per un tipo restituito
Errore del compilatore C2534 'identifier': il costruttore non può restituire un valore
Errore del compilatore C2535 'identifier': funzione membro già definita o dichiarata
Errore del compilatore C2536 Obsoleta.
Errore del compilatore C2537 'specifier': specifica di collegamento non valida
Errore del compilatore C2538 Obsoleta.
Errore del compilatore C2539 Obsoleta.
Errore del compilatore C2540 espressione non costante come associata a matrice
Errore del compilatore C2541 'identifier': impossibile eliminare oggetti che non sono puntatori
Errore del compilatore C2542 'identifier': l'oggetto classe non ha un costruttore per l'inizializzazione
Errore del compilatore C2543 previsto ']' per l'operatore '[]'
Errore del compilatore C2544 previsto ')' per l'operatore '()'
Errore del compilatore C2545 'operator': impossibile trovare l'operatore di overload
Errore del compilatore C2546 'identifier': quando un tipo è definito sia in un pia che in un'operatore di interoperabilità primario non deve essere fatto riferimento per primo
Errore del compilatore C2547 'identifier': tutti i parametri di un metodo pubblicato devono essere denominati in modo esplicito nella dichiarazione
Errore del compilatore C2548 'function': parametro predefinito mancante per il parametro
Errore del compilatore C2549 La conversione definita dall'utente non può specificare un tipo restituito
Errore del compilatore C2550 'identifier': gli elenchi di inizializzatori del costruttore sono consentiti solo nelle definizioni del costruttore
Errore del compilatore C2551 il tipo 'void *' richiede un cast esplicito
Errore del compilatore C2552 'identifier': non è possibile inizializzare le aggregazioni con un elenco di inizializzatori
Errore del compilatore C2553 'type derived_class::function': override del tipo restituito della funzione virtuale differisce da 'type base_class::function'
Errore del compilatore C2555 'derived_class::function': override del tipo restituito della funzione virtuale è diverso e non covariante da 'base_class::function'
Errore del compilatore C2556 'type1 class::function': la funzione di overload è diversa solo dal tipo restituito da 'type2 class::function'
Errore del compilatore C2557 'identifier': i membri privati e protetti non possono essere inizializzati senza un costruttore
Errore del compilatore C2558 classe 'class': nessun costruttore di copia disponibile o copy è dichiarato 'explicit'
Errore del compilatore C2559 'identifier': impossibile eseguire l'overload di una funzione membro senza ref-qualifier con una funzione membro con ref-qualifier
Errore del compilatore C2560 'identifier': impossibile eseguire l'overload di una funzione membro con ref-qualifier con una funzione membro senza ref-qualifier
Errore del compilatore C2561 'function': la funzione deve restituire un valore
Errore del compilatore C2562 'function': funzione 'void' che restituisce un valore
Errore del compilatore C2563 mancata corrispondenza nell'elenco dei parametri formali
Errore del compilatore C2564 Obsoleta.
Errore del compilatore C2565 'identifier': ref-qualifier is illegal for constructors/destructors
Errore del compilatore C2566 funzione di overload nell'espressione condizionale
Errore del compilatore C2567 impossibile aprire i metadati in 'filename', possible_reason
Errore del compilatore C2568 'identifier': impossibile risolvere l'overload della funzione
Errore del compilatore C2569 'identifier': l'enumerazione/unione non può essere usata come classe base
Errore del compilatore C2570 'identifier': l'unione non può avere classi di base
Errore del compilatore C2571 'identifier': la funzione virtuale non può essere in unione 'union'
Errore del compilatore C2572 'function': ridefinizione dell'argomento predefinito: numero di parametro
Errore del compilatore C2573 'class': impossibile eliminare puntatori a oggetti di questo tipo. La classe non dispone di overload di posizionamento per 'operator delete'. Usare ::d elete o aggiungere 'operator delete(void*)' alla classe
Errore del compilatore C2574 'destructor': non può essere dichiarato statico
Errore del compilatore C2575 'identifier': solo le funzioni membro e le basi possono essere virtuali
Errore del compilatore C2576 'identifier': non può introdurre un nuovo metodo virtuale come 'public'. Prendere in considerazione la possibilità di rendere il metodo non virtuale o modificare l'accessibilità in "interno" o "privato protetto"
Errore del compilatore C2577 'identifier': un distruttore/finalizzatore non può avere un tipo restituito
Errore del compilatore C2578 'class': il tipo non può avere un costruttore 'protected' o 'protected public'
Errore del compilatore C2579 impossibile risolvere il tipo di tipo (offset). È previsto nel nome del file
Errore del compilatore C2580 'identifier': non sono consentite più versioni di una funzione membro speciale predefinita
Errore del compilatore C2581 'type': funzione statica 'operator =' non valida
Errore del compilatore C2582 La funzione 'operator operator' non è disponibile in 'type'
Errore del compilatore C2583 'identifier': 'const/volatile' puntatore 'this' non valido per costruttori/distruttori
Errore del compilatore C2584 'class': la base diretta 'base_class2' non è accessibile; già una base di 'base_class1'
Errore del compilatore C2585 la conversione esplicita in 'type' è ambigua
Errore del compilatore C2586 sintassi di conversione non corretta definita dall'utente: indiretti illegali
Errore del compilatore C2587 'identifier': uso non valido della variabile locale come parametro predefinito
Errore del compilatore C2588 '::~identifier': distruttore globale/finalizzatore globale non valido
Errore del compilatore C2589 'identifier': token non valido sul lato destro di '::'
Errore del compilatore C2590 'identifier': solo un costruttore può avere un elenco di inizializzatori di base/membro
Errore del compilatore C2591 ExclusiveTo non può usare 'type' come argomento. Solo una 'classe ref' è un argomento valido
Errore del compilatore C2592 'class': 'base_class2' viene ereditato da 'base_class1' e non può essere ri-specificato
Errore del compilatore C2593 'operator identifier' è ambiguo
Errore del compilatore C2594 'operator': conversioni ambigue da 'type1' a 'type2'
Errore del compilatore C2595 'identifier' Un tipo di attributo WinRT deve essere sealed
Errore del compilatore C2596 'identifier' Un campo attributo WinRT può essere solo una classe 'public enum', 'int', 'unsigned int', 'bool', 'Platform::Type', 'Platform::String' o 'Windows::Foundation::HResult'
Errore del compilatore C2597 riferimento non valido a un membro non statico 'identifier'
Errore del compilatore C2598 la specifica di collegamento deve essere nell'ambito globale
Errore del compilatore C2599 'identifier': la dichiarazione forward di un'enumerazione gestita/WinRT non è consentita

Vedi anche

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