Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;将数组声明为函数_C++_Arrays_Function_Parallel Arrays - Fatal编程技术网

C++ c++;将数组声明为函数

C++ c++;将数组声明为函数,c++,arrays,function,parallel-arrays,C++,Arrays,Function,Parallel Arrays,我在数组中遇到了一些问题,因为我有.h和.cpp文件,所以我应该按照通常的函数声明方式来声明它们吗 两点D.h class PointTwoD { private: int xcord,ycord; float civIndex; LocationData locationdata; public: PointTwoD(); PointTwoD(int, int, string,

我在数组中遇到了一些问题,因为我有.h和.cpp文件,所以我应该按照通常的函数声明方式来声明它们吗

两点D.h

class PointTwoD
{
    private:
        int xcord,ycord;
        float civIndex;
        LocationData locationdata;

    public:
            PointTwoD();

            PointTwoD(int, int, string, int, int, float, float, float);

        //set/mutator function
        void setxcord(int);
        void setycord(int);

        //get/accessor function
        int getxcord();
        int getycord();

        void storedata(int, int, float);

};
pointtwod.cpp

//declaring array
void PointTwoD::storedata(int xord[], int yord[], float civ[])
{
    int i=0;
    //int size = sizeof(xord)/sizeof(xord[0]);
    int size = 100;
    for(i=0;i<100;i++)
    {
        cout << "key in num for xord: " << endl;
        xord[i] = xcord;
        cout << "key in value for yord: " << endl;
        xord[i] = ycord;
        cout << "key in value for civ: " << endl;
        civ[i] = locationdata.getCivIndex();
    };
}
int main()
{
    PointTwoD pointtwod;
    pointtwod.storedata(xord[], yord[], civ[]);
}
这意味着函数与您在标题中声明的原型不匹配,即:

void storedata(int, int, float);
宣言应当是:

void storedata(int*, int*, float*);
或:

其余的错误是因为您没有在main中声明
xord[]、yord[]或civ[]
,而是将它们传递给函数


因此,在将三个数组传递给函数之前,您需要在
main
中声明它们。

我觉得错误消息非常简单。应该是
void storedata(int*,int*,float*)
main中,您没有声明任何名为xord[]、yord[]或civ[]的变量,因此该范围中不存在此类变量,正如错误消息所说,删除“civ”的错误消息未在此范围中声明。我应该加入浮动civ[];在我的pointtwod.h的私人课上?
void storedata(int, int, float);
void storedata(int*, int*, float*);
void storedata(int xord[], int yord[], float civ[]);