【发布时间】:2013-03-28 17:30:34
【问题描述】:
如何将二维数组传递给函数我已经创建了一个并想定义初始化这个数组的函数。
#include <iostream>
using namespace std;
int n = 5;**strong text**
void wypelnijTabliceBooli(bool** b){
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++)
b[i][j] = 0;
}
}
int main(){
bool b[n][n];
wypelnijTabliceBooli(b);
return 0;
}
我得到了
error: cannot convert 'bool (*)[(((unsigned int)(((int)n) + -0x000000001)) + 1)][(((unsigned int)(((int)n) + -0x000000001)) + 1)]' to 'bool**' for argument '1' to 'void wypelnijTabliceBooli(bool**)'|
【问题讨论】:
-
数组不是指针。
-
bool[n][n]与bool**不同。除非您发布真实代码,否则无法提供更多帮助。 -
@Aiias 这也不是合法代码。
-
@john 这是一个真实的代码
-
@RobertKilar 不幸的是,您选择使用非标准 C++。即使在您尝试将数组传递给函数之前,
int n = 5; bool b[n][n];也是不合法的 C++。
标签: c++ multidimensional-array