Les conversions des types dans l'appel des fonctions en c++
Résolu
devdev1
Messages postés
10
Statut
Membre
-
devdev1 Messages postés 10 Statut Membre -
devdev1 Messages postés 10 Statut Membre -
Bonjour,
je suis débutant en c++ , je connais les types primitfs :short char int float double ..
mais j'ai un probléme au niveau d'appel des fontions surdéfinis, je ne sais pas quel fonction sera utilisé , j'ai cherché sur internet mais j'ai pas bien compris ce que ce passe au nivaux de la compilation de mon code là:
#include<iostream>
using namespace std;
void clone(double d){cout <<"\nLa fonction II = "; }
void clone(int n){cout << "\nLa fonction I = "; }
main(){
clone(2);
// ici la fonction va vaire appel à clone(int) , alors que le nombre 2 on peut le considére comme int , float ,double ....
// quand je mis clone(2.5) il me donne une erreur , que y'a d'ambiguité , entre clone(int) et clone(double) , pourquoi on a pas eu cette erreur avec l'appel clone(2) ?? ou bien sur quel niveau on se base là?? Merci d'avaaaaaaance :)
}
je suis débutant en c++ , je connais les types primitfs :short char int float double ..
mais j'ai un probléme au niveau d'appel des fontions surdéfinis, je ne sais pas quel fonction sera utilisé , j'ai cherché sur internet mais j'ai pas bien compris ce que ce passe au nivaux de la compilation de mon code là:
#include<iostream>
using namespace std;
void clone(double d){cout <<"\nLa fonction II = "; }
void clone(int n){cout << "\nLa fonction I = "; }
main(){
clone(2);
// ici la fonction va vaire appel à clone(int) , alors que le nombre 2 on peut le considére comme int , float ,double ....
// quand je mis clone(2.5) il me donne une erreur , que y'a d'ambiguité , entre clone(int) et clone(double) , pourquoi on a pas eu cette erreur avec l'appel clone(2) ?? ou bien sur quel niveau on se base là?? Merci d'avaaaaaaance :)
}
A voir également:
- Les conversions des types dans l'appel des fonctions en c++
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel privé - Guide
- Les types de ram - Guide
- Types de souris informatique - Guide
- Double appel - Guide
1 réponse
Bonjour,
Quand tu écris une valeur en dure dans le code, celle-ci a un type comme toutes les autres valeurs. C'est ce type qui est utilisé pour choisir la bonne méthode. Voici quelques écritures différentes de nombres :
Quand tu écris une valeur en dure dans le code, celle-ci a un type comme toutes les autres valeurs. C'est ce type qui est utilisé pour choisir la bonne méthode. Voici quelques écritures différentes de nombres :
#include<iostream>
using namespace std;
void test(int n) {
cout << "int " << n << endl;
}
void test(long n) {
cout << "long " << n << endl;
}
void test(float n) {
cout << "float " << n << endl;
}
void test(double n) {
cout << "double " << n << endl;
}
int main(){
test(1); // int 1
test(2L); // long 2
test(3.0); // double 3
test(4e0); // double 4
test(5.0f); // float 5
test(6.0d); // double 6
test(00010); // int 8
test(0x010); // int 16
}
devdev1
Messages postés
10
Statut
Membre
Mercii Beaucoup pour ton aide a chaque fois (y)