sizeof数组的违反直觉行为作为参数传递

时间:2015-05-14 13:45:43

标签: c++ arrays sizeof

在我的项目中,我有一个浮点数组,我想通过一个函数。我在通过函数传递数组之前计算数组的大小,并得到正确的大小。

我现在将数组作为参数传递给函数,并且大小错误。

float histogram1[ 27 ];
float histogram2[ 27 ];
........ Do stuff ...
// Histogramm size is correct here the output is 27
cout << " histograms size is  " << sizeof(histogram1)/sizeof(float) << endl;
ut.categoricalhistogramCompare(histogram1, histogram2);

我的第一行功能是:

std::vector<float>  Utilities::categoricalhistogramCompare( float histA[], float histB[]){
    const int N = sizeof(histA) / sizeof(float);
    //Size output here is 2
    cout << " size of histograms " << N<< endl;
    ..... Do stuff .....
}

为什么会发生这种情况的任何线索?这是我定义数组函数参数的方式吗?

0 个答案:

没有答案