Partager via


Erreur du compilateur C2382

'function' : redéfinition ; différentes spécifications d’exception

Cette erreur indique qu’une surcharge de fonction a été tentée uniquement sur la spécification d’exception.

Notes

Par défaut, le compilateur considère qu’une noexcept spécification est équivalente à une throw() ou throw(some_type) une spécification. Sous /Za, cette vérification est plus stricte.

Pour résoudre ce problème, modifiez toutes les déclarations et définitions de la fonction (ou la surcharge de fonction spécifique) pour utiliser la même spécification d’exception.

Exemple

L’exemple suivant génère l’erreur C2382 :

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

Voir aussi

/Za (Désactiver les extensions de langage)