bonsoir,
je dispose de 3 versions d'une fonction F :
int F( A a, int i ) { cout<<"la fonction : A a, int i "<< endl ; }
int F( A a, double d ) { cout<<"la fonction : A a, double d "<< endl ; }
double ( B b , int i ) { cout<<"la fonction : B b, int i "<< endl ; }
dans le main je declare dans mon main les instructions suivantes :
normalement le compilateur devra choisir la fonction par les types d'arguments, ca c'est claire mais pourquoi il ne genère par d'erreure lorsque le type de retourne n'est le meme que celui a qui il est affecter dans le main !!?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 A a; B b int i;float l;double d;char c; i=f(a,i); l=f(a,i); i=f(b,i); d=f(b,i); d=f(b,l); d=f(b,c); i=f(i,l);
Exemple de test :
qui peut m'expliquer svp comment ca marche ?
Partager