将2-D布尔值传递给函数[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将2-D布尔值传递给函数[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

为什么以下布尔“mat”的2-d地址不能像这样传递给函数?

void generate(bool arr) {
    ......;
    ......;
}

int main() {
    bool mat[3][3];
    generate(mat);
    return 0;
}
答案

尝试以下示例,然后注意以下描述:

const int N = 3;

void generate(bool arr[][N]) {
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            std::cout << std::boolalpha << arr[i][j] << " ";
        }
        std::cout << std::endl;
    }
}

int main() {
    // initialize array
    bool mat[N][N] = { {1, 0, 1},
                     {0, 1, 0},
                     {1, 0, 1} };
    generate(mat);
    return 0;
}

输出 :

true false true
false true false
true false true

注意:有三种方法可以将二维数组完全按照(this answer)传递给一个函数:

  1. 函数参数是2-d数组: bool arr[10][10]; void Func(bool a[][10]) { // ... } Func(arr);
  2. 函数参数是一个指针数组: bool *arr[10]; for(int i = 0;i < 10;i++) arr[i] = new bool[10]; void Func(bool *a[10]) { // ... } Func(arr);
  3. 函数参数为pointerpointerbool **arr; arr = new bool *[10]; for(int i = 0;i < 10;i++) arr[i] = new bool[10]; void Func(bool **a) { // ... } Func(arr);

以上是关于将2-D布尔值传递给函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5按钮lambda变量变为布尔值[重复]

PyQt5按钮lambda变量变为布尔值[重复]

从列表中删除布尔值[重复]

将变量传递给函数\使用该变量返回一个新值\重复直到值达到 0

cshtml将模型值传递给javascript函数[重复]

VBA:将二维数组传递给集合函数[重复]