next up previous contents
Next: Trouver la fonction associée Up: Correspondance des arguments Previous: Correspondance des arguments

Différencier les types

Le C++ refuse toute ambiguïté, aussi pour qu'une surcharge soit possible il faut tout d'abord qu'il y ait un moyen de distinguer entre les arguments des fonctions surchargées (le type retourné ne permettra pas de distinguer des fonctions surchargées). Par exemple, T et T& acceptent les mêmes valeurs et on ne pourra donc pas avoir :

void f(int i){
  //...
}
void f(int& i){
  //...
}
On ne peut non plus distinguer entre T, const T et volatile T. Par contre, on peut distinguer entre T&, const T& et volatile T&gif (de même entre T * et const T * et volatile T *). Rappelons aussi que le typedef ne définit pas un autre type, mais un synonyme, que pointeur et tableaux sont identiques.




Mon Oct 20 14:02:48 MET 1997