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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de