J'essaie de créer une fonction qui renvoie le double du nombre entier que je lui transmettrai. Je reçois le message d'erreur suivant avec mon code:
la déclaration de 'int x' masque un paramètre int x; "
Voici mon code:
#include <iostream>
int doublenumber();
using namespace std;
int doublenumber(int x)// <-- this is the function which returns double the value .
{
int x;
return 2 * x;
cout << endl;
}
int main()
{
int a;
cout << "Enter the number that you want to double it : " << endl;
cin >> a;
doublenumber(a);
return 0;
}
Vous avez x
en tant que paramètre, puis vous essayez de le déclarer également en tant que variable locale, ce à quoi se réfère la plainte concernant "l'observation".
Je l'ai fait parce que vos conseils étaient très utiles et voici le résultat final:
#include <iostream>
using namespace std;
int doublenumber(int x)
{
return 2*x;
}
int main()
{
int a;
cout << "Enter the number that you want to double it : " << endl;
cin>>a;
int n= doublenumber(a);
cout << "the double value is : " << n << endl;
return 0;
}
#include <iostream>
using namespace std;
int doublenumber(int x)
{
return 2*x;
}
int main()
{
int a;
cout << "Enter the number that you want to double it : " << endl;
cin>>a;
int d = doublenumber(a);
cout << "Double : " << d << endl;
return 0;
}
Il y a un problème avec votre code. Votre déclaration et votre définition de fonction ne correspondent pas. Supprimez donc la déclaration, car elle n’est pas nécessaire.
Vous déclarez une variable locale x dans la fonction qui occultera les arguments de votre fonction.