D'accord, petite curiosité que j'ai découverte avec mon compilateur C++.C++ applique-t-il des instructions de retour?
J'avais un peu peu de code complexe à refactoriser, et j'ai accidentellement réussi à laisser dans un chemin qui n'avait pas une déclaration de retour. Ma faute. D'un autre côté, cela compilé, et segfaulted quand je l'ai couru et ce chemin a été frappé, évidemment.
Voici ma question: est-ce un bogue de compilateur, ou est-ce qu'il n'y a aucune garantie qu'un compilateur C++ imposera le besoin d'une déclaration de retour dans une fonction de retour non-vide?
Oh, et pour être clair, dans ce cas, c'était une instruction if inutile sans accompagnement. Pas de gotos, pas de sorties, pas d'abandons.
Quel compilateur utilisez-vous? – Dennis
Si sur gcc utilisez [-Wreturn-type'] (http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html), éventuellement avec '-Werror ='. –
même chose est arrivé à moi avec gcc 4.4 –