Ésta es una función válida en C++:Una función declarada para devolver int no devuelve nada. ¿Es este comportamiento indefinido?
int f()
{
if(false)
{
return 42;
}
}
La siguiente definición provoca UB:
int x = f(); //return value used
La pregunta: hace lo siguiente causa UB declaración de la expresión?
f();
Cita de la norma sería muy bienvenida. Gracias
Advertencia: Observaciones sobre la estilística son irrelevantes :)
Estoy 99.9999% seguro de que es un UB. E incluso si no lo es, este no es un estilo de programación que uno recomendaría :) –
Intentar ejecutar código en un comentario no es UB. –
me gusta cómo lo maneja el compilador de C#: en este caso, habrá un error de compilación: "No todas las rutas de códigos devuelven un valor" – Andrey