Condividi tramite


Errore del compilatore C2382

'function': ridefinizione; specifiche di eccezione diverse

Osservazioni:

Questo errore indica che è stato tentato un overload di funzione solo in base alla specifica dell'eccezione.

Per impostazione predefinita, il compilatore considera una noexcept specifica equivalente a una throw() specifica o throw(some_type) . In /Zaquesto controllo è più rigoroso.

Per risolvere questo problema, modificare tutte le dichiarazioni e le definizioni della funzione (o l'overload di funzione specifico) per usare la stessa specifica di eccezione.

Esempio

L'esempio seguente genera l'errore C2382:

// C2382.cpp
// compile with: /Za /c
void f1(void) noexcept {}
void f1(void) {}   // C2382
void f2(void) throw() {}   // OK

Vedi anche

/Za (Disabilita estensioni del linguaggio)