next up previous contents index
suivant: Les étapes de l'invocation monter: Invocation d'une fonction précédent: Invocation locale   Table des matières   Index

Vérification des types

Plusieurs vérifications sont faites à la compilation. Le nombre des arguments (dans l'expression d'invocation) et le nombre des paramètres (dans la définition de la fonction) doivent être identiques : une invocation de sommerEntiers(1,10,100) est illégale si la fonction somme n'a pas été définie avec trois paramètres.

Ensuite, le type d'un argument doit être égal au type du paramètre correspondant ou doit en être un sous-type ; par exemple, les invocations sommerEntiers("un", "dix") ou sommerEntiers(1.0, 10.0) sont illégales si la définition de sommerEntiers ne comporte pas de paramètres de type String ou de type flottant.

Enfin, le type de chaque expression de retour figurant dans le corps de la fonction doit être égal au type de retour de la fonction, ou en être un sous-type. Par exemple, le type de retour de sommerEntiers étant int, l'instruction de retour return résultat; serait illégale si résultat était déclaré de type double, car double n'est pas un sous-type de int.



Rene' LALEMENT 2002-11-07