私はこのコードを持っています:
class total {
public:
void display(int []);
};
void total::display(int *arr)
{
int len = sizeof(arr)/sizeof(int);
cout << len;
}
int main(void)
{
int arr[] = { 10, 0, 0, 4, 20 };
total A;
A.display(arr);
return 0;
}
出力は1ですが、配列の長さは 5 であると予想していましたが、sizeof()
ステートメント
を使用するとmain()
5 が表示されます。では、なぜ sizeof() がメンバー関数内で正しい値を表示しないのですか?