Ik probeer een functie te maken die het dubbele van het gehele getal retourneert dat ik eraan zal doorgeven. Ik krijg de volgende foutmelding bij mijn code:
declaratie van ‘int x’ schaduwt een parameter int x; “
Hier is mijn 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;
}
Antwoord 1, autoriteit 100%
Je hebt x
als parameter en probeer het dan ook als een lokale variabele te declareren, waar de klacht over “schaduwen” naar verwijst.
Antwoord 2, autoriteit 9%
Ik deed het omdat je advies zo nuttig was, en dit is het eindresultaat:
#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;
}
Antwoord 3, autoriteit 6%
#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;
}
Er zijn een probleem met uw code. Uw verklaring en definitie van functie sterft niet overeen. Dus verwijder de verklaring als er geen noodzaak van.
U verklaart lokale X-variabele binnenfunctie die uw functie-argumenten zal overschaduwen.