渡される整数の 2 倍を返す関数を作成しようとしています。コードで次のエラー メッセージが表示されます。
'int x' の宣言はパラメータ int x; を隠します。
これが私のコードです:
#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;
}
ベストアンサー1
パラメータとして持っていてx
、それをローカル変数としても宣言しようとします。これが「シャドウイング」に関する苦情が指すものです。