Salut,
Dans la classe std::numeric_limits, il existe deux méthodes qui te renvoient, justement la valeur correspondant à NaN: quiet_NaN() et signaling_NaN(), même si je n'arrive pas à expliquer la différence qui existe entre les deux...
Tu peux donc très bien envisager un code tout simple de l'ordre de
return std::numeric_limits<float>.quiet_NaN();
ou de l'ordre de
return std::numeric_limits<float>.signaling_NaN();
*Idealement*, ce serait aussi la valeur à tester pour savoir le retour est un nombre ou non 
Ceci dit, peut-être devrais tu envisager, plutot qu'une valeur de retour "invalide", de lancer simplement une exception (à récupérer le cas échéant dans une des fonctions appelante pour traitement)
Partager