c++ - 在c++中的函数中传递可变大小的多维数组

标签 c++ arrays

我写了下面的代码,但是显示错误

use of parameter outside function body before ‘]’ token

代码是

#include <iostream>
using namespace std;
int n=10;
void a(int s[n][n])
{
    cout<<"1";
}
int main()
{
    int s[n][n]={0};
    a(s);
}

我正在尝试使用全局变量传递可变大小的多维数组。我不想在此使用 vector 。

最佳答案

首先,C++ 没有变长数组,所以用 int s[n][n]={0}; 代替你应该使用 std::vector<std::vector<int>> s(10,std::vector<int>(10));

其次如何将二维数组传递给函数,

void a(std::vector<int> **s,int rows, int cols){
        cout<<"1";
        /* stuff with 2D array */
}

关于c++ - 在c++中的函数中传递可变大小的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013656/

相关文章:

c++ - 在 C++ 中获取均匀分布的随机整数的标准方法是什么?

c++ - 在 C++ 中读取文本文件显示无输出

c++ - 无效输入浮点异常的危险是什么?

c++ - OpenGL glDrawArrays 比 glBegin 慢

PHP 在 CSV 文件中查找字符串

C++将 self 传递给 self 神秘

c++ - 我正在尝试设置几个不同的多维数组,但无法弄清楚为什么这不起作用

java - 为什么不能在java中的方法之外声明和初始化数组?

c - 在 c 中返回带有自定义函数的数组不起作用

javascript - 检索对象项的路径