Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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++ I';我正在尝试创建一个函数来初始化C++;_C++_Arrays_Function_Initializing - Fatal编程技术网

C++ I';我正在尝试创建一个函数来初始化C++;

C++ I';我正在尝试创建一个函数来初始化C++;,c++,arrays,function,initializing,C++,Arrays,Function,Initializing,当我尝试编译时,IDE给了我以下错误: random.h | 11 |错误:在“arr”之前应该有“,”或“…” 但这是我最大的问题 我可以在我的主函数中实现这一点,但我想通过调用一个函数来初始化我给它的任何2D数组。然后我有另一个打印数组的函数,但是除了语句之外,它们或多或少都是一样的。 我是一个完全的初学者,所以请随时有一些笑 void InitializeArray2D(int& arr[int x][int y]) { for (int i=0; i<x;

当我尝试编译时,IDE给了我以下错误:

random.h | 11 |错误:在“arr”之前应该有“,”或“…”

但这是我最大的问题

我可以在我的主函数中实现这一点,但我想通过调用一个函数来初始化我给它的任何2D数组。然后我有另一个打印数组的函数,但是除了语句之外,它们或多或少都是一样的。 我是一个完全的初学者,所以请随时有一些笑

    void InitializeArray2D(int& arr[int x][int y])
{
    for (int i=0; i<x; i++)
    {
        for(int j=0; j<y; j++)
        {
            cout<<"arr["<<i<<"]["<<j<<"]=";
            cin>>arr[i][j];
        }
    }
}
void初始化array2d(int&arr[int x][int y])
{

对于(inti=0;i来说,您的函数原型非常混乱

您将需要更多类似于:

void InitializeArray2D(int &arr[][], int x, int y) {
}

注意:这假设您的阵列已分配

另外,帮你自己一个忙,让你的外循环y和内循环x,这并不重要,但它使可视化变得更容易

编辑: 正如Ed S.善意而准确地指出的,使用x作为内部循环在数据位置方面确实很重要。尽快习惯这样做。

事实上

int& arr[x][y]

(我删除x和y的语法不正确类型指定)是指向引用数组的指针的声明。C++不允许声明引用数组。

正确的声明将是

void InitializeArray2D(int ( & arr )[x][y]);

假定x和y定义为常数。

这是语法错误,C++无论如何也没有VLAS。“同时,请自己做一个帮助,使外环Y和内环X,而不是它有那么重要”。-当然可以;数据的位置或帮你自己一个忙,使用
std::vector
std::array
。P.S:Nice avatar;)现在它给了我://Value/RavyB/Tabe/Works/No.h 23的错误:声明“ARR”作为引用数组,删除“and”,或者将数组作为双指针传递,C++不允许引用数组。这是我的错。啊,我明白了。谢谢!是的,让X和Y常量做了这个把戏。谢谢弗拉德!
void InitializeArray2D(int ( & arr )[x][y]);