下面就是一个简单程序,请问为什么在ranking函数中调用getArrayLen()时输出的N值不是7,而是1?
#include
using namespace std;
template
int getArrayLen(T& array) //使用模板定义一个函数getArrayLen,该函数将返回数组array的长度
{
return (sizeof(array) / sizeof(array[0]));
}
void ranking(int a[], int b[]){
int N = getArrayLen(a);
cout << N;
}
int main()
{
int a[] = { 1, 2, 3, 4, 5, 6, 7 },b[7];
ranking(a, b);
return 0;
1. }