-2
int size(int arr1[])
{
int size1=sizeof(arr1)/sizeof(int);
cout<<size1<<endl;
return size1;
}
void main()
{
int b[]={1,2,3,4,5};
int size2 = size(b);
cout<<size2<<endl;
for (int i=0;i<size2;i++)
{
cout<<b[i];
}
}
我已經把B []功能劃分成大小爲(),並檢查尺寸然後返回值。然而,它只是返回1作爲答案。 任何人都可以請幫我解決這個問題。爲什麼sizeof運算符在傳遞給方法的數組上使用時會返回錯誤的值?
的C++
相關:http://stackoverflow.com/questions/22677415/why-do-c-and-c-compilers-allow-array-lengths-in-function-signatures-when-they/ – 2014-12-06 12:29:37