通过c ++中的函数传递数组,得到错误:在']'之前的'primary-expression'

时间:2015-10-23 22:54:17

标签: c++ arrays function

我参加了一个基础csci,计算机编程课程,并且已经花了几个小时摆弄这段代码。我试图通过一个函数传递数组,我的代码将无法编译。我无法弄清楚我的代码出了什么问题。它如下:

int buildArray (double*);
int main ()
{
    int valuesPerLine;
    int randomValues;
    double array[110];

    srand(time(NULL));
    cout<<"How many values should be displayed per line? ";
    cin>>valuesPerLine;
    randomValues=buildArray(array[]);
    cout<<array[50];
    return (0);
}

int buildArray (double array[])
{
    int t; //t is the total number of numbers in the array
    t=rand();
    array[t];

    for (int i=0; i<t; i++)
        {
            array[i]=randDouble();
        }
    return(t);
}

cout<<array[50];就在那里,我可以看看答案是否有所改变。它不会出现在最终的代码中。

我错过了一些简单的东西吗?我通常能够在课堂上帮助其他人使用代码,但出于某种原因,我无法解决这个问题。

谢谢你的一切! 附: 这不是整个代码,我知道在这种情况下我还没有说出randDouble是什么,但我不相信这很重要,因为代码似乎编译得很好,因为它是。如果需要,请告诉我,我可以在下面发布。

1 个答案:

答案 0 :(得分:2)

将数组传递给函数时,只将指针传递给数组的第一个元素。

在你的情况下,它将是:

randomValues = buildArray(array);