Posons nous dans le cas suivant (oui ça commence direct)
int strange_apply(int (*f)(int) {
return reinterpret_cast<(int(*)(int, int)>(f)(1, 2);
}
Ce code compile avec un warning depuis le dernier gcc, et c'est bien car c'est en fait un undefined behavior (cast entre types de fonctions incompatibles dans le cas présent).
Et pourtant on voit pas mal de code (…)









