Cette fonction est valable en C++:Une fonction déclarée à return int ne renvoie rien. Est-ce un comportement indéfini?
int f()
{
if(false)
{
return 42;
}
}
La définition suivante provoque UB:
int x = f(); //return value used
La question: L'énoncé d'expression suivante causes UB?
f();
Citation de la norme serait très bienvenue. Merci
Attention: Remarques concernant stylistics ne sont pas pertinents :)
Je suis 99,9999% sûr que c'est un UB. Et même si ce n'est pas le cas, ce n'est pas un style de programmation que l'on recommanderait :) –
Essayer de faire exécuter du code dans un commentaire n'est pas UB. –
J'aime comment le compilateur C# le gère: dans ce cas il y aura une erreur de compilation: "Tous les chemins de code ne renvoient pas une valeur" – Andrey