C++ 尝试修改和显示二维阵列时出错

C++ 尝试修改和显示二维阵列时出错,c++,arrays,C++,Arrays,我已在main中创建了以下数组: int arrayOne[40][60]; 我试图用它做两件事: 使用执行此操作的函数修改其内容 显示已修改的阵列 这可能看起来很基本,但是,我似乎收到了错误消息 我正在尝试使用以下命令显示我的阵列: void disArray(int [][60]); // function prototype disArray(arrayOne); //function call in main /*Actual function I use b

我已在main中创建了以下数组:

int arrayOne[40][60];   
我试图用它做两件事:

  • 使用执行此操作的函数修改其内容
  • 显示已修改的阵列
  • 这可能看起来很基本,但是,我似乎收到了错误消息

    我正在尝试使用以下命令显示我的阵列:

    void disArray(int [][60]);    // function prototype
    
    disArray(arrayOne);      //function call in main
    
    /*Actual function I use below */
    void disArray(int diArray[][60]) {
        for (int r = 10; r < 30; c++) {
            for (int c = 10; c < 50; r++) {
                cout << diArray[r][c] << " ";
            }
            cout << endl;
        }
    }
    
    但是,它似乎不起作用


    如果有人能教你如何显示这样大小的数组并有选择地修改它,那就太好了!(请不要将此标记为已在别处回答,因为我已经阅读了许多其他帖子&它们没有真正的帮助……对于熟悉数组的人来说,回答此问题只需不到5分钟)

    局部非静态变量未初始化,其内容不确定。尝试使用它们而不是初始化它们(例如打印它们的值)会导致未定义的行为

    如果要将数组初始化为全零,则需要显式执行此操作:

    int arrayOne[40][60] = { 0 };
    

    要在函数中修改它,请按常规操作:

    void setElement(int array[][60], size_t row, size_t col, int value)
    {
        array[row][col] = value;
    }
    
    ...
    
    setElement(arrayOne, 10, 20, 123);
    

    上述代码将值
    123
    赋给
    arrayOne[10][20]

    是否
    arrayOne
    为局部变量,即是否在另一个函数中声明?请尝试创建一个并向我们展示,包括数组相对于其他代码的实际声明。arrayOne是在int main()中声明的局部变量@StillLearning请发布一篇文章以获得诊断错误的帮助。您尚未声明变量
    r
    对不起,这是我第二次使用stackOverflow。。。我尽可能多地输入了我认为必要的代码,但也许我输入的代码太多了。然而,这不应该阻止某人回答我希望的问题。下次我将尝试遵循适当的指导原则。谢谢。我该如何修改数组的内容?@StillLearning刚刚分配给您要修改的元素?矩阵中的每个元素都可视为一个简单变量。例如,请参见我在回答中添加的示例函数。当然,索引不需要是文本值,它们也可以是变量,如图所示
    void setElement(int array[][60], size_t row, size_t col, int value)
    {
        array[row][col] = value;
    }
    
    ...
    
    setElement(arrayOne, 10, 20, 123);