
Envoyé par
Jean-Marc.Bourguet
Le principe est qu'on fait une recherche et qu'on arrête celle-ci une fois le nom trouvé. Puis on cherche la meilleure fonction avec ce nom en appliquant une série de règles relativement complexes à cause des conversions implicites, arguments par défaut et de la possibilité de templates de fonction à instancier.
A noter qu'il n'y a pas d'arguments très fort pour dire que dans le cas des fonctions on ne pourrait pas collecter toutes les surcharges avant de choisir. De mémoire dans D&E (j'ai pas le bouquin ici) Stroustrup dit qu'outre le fait que c'est plus homogène (on traite tous les identificateurs de la même façon -- en passant au moment où on cherche les définitions, on n'a aucune idée si c'est une définition de fonction, de variable, de template, de type... qu'on va trouver) c'est pour éviter des problèmes que d'autres modifications introduites depuis éviteraient maintenant. Je suppose que quand on s'en est rendu compte, changer cet aspect de la collecte des fonctions à surcharger aurait causé trop de problèmes.
Partager