Error del compilador C2382

'función': nueva definición; especificaciones de excepción diferentes

Este error indica que se ha intentado una sobrecarga de la función solo en la especificación de excepción.

Comentarios

De forma predeterminada, el compilador considera que una especificación noexcept es equivalente a una especificación throw() o throw(some_type). En /Za, esta comprobación es más estricta.

Para resolver este problema, cambie todas las declaraciones y definiciones de función (o la sobrecarga de función específica) para usar la misma especificación de excepción.

Ejemplo

El ejemplo siguiente genera la advertencia C2382:

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

Consulte también

/Za (Deshabilitar extensiones de lenguaje)