请大家帮我解决一下C++类中二维数组初始化的问题。谢谢!
[code=C/C++][/code]
# include <iostream.h>
const int row = 5 ,col = 5;
class Maze
{
private:
int maze[row][col],mark[row][col];
public:
void Init()
{
//maze = {{1,1,0,1,1},{1,1,0,1,1},{1,1,0,1,1},{1,1,0,1,1},{1,1,0,1,1}};
for(int i = 0 ; i < row;i++)
{
for(int j = 0;j < col;++j)
{
mark[i][j] = 0;
}
}
}
};
我想初始化迷宫。1表示不能通过,0表示通路。
注释掉的部分为什么编译不通过?怎样才可以对类中二维数组进行初始化?
[解决办法]
类里成员初始化可以再构造函数里进行初始化,但是数组不可以 你可以把地图数组单独放一个资源里 把头文件导入就可以直接用 并且管理起来比较方便
[解决办法]
#include <iostream>
using namespace std;
class Non {
public:
int count(int step);
};
int Non::count(int step) {
int judge[3100][3100];
return 0;
}
int main(){
Non kaka;
kaka.count(3);
return 0;
}
[解决办法]
我也遇到了类似的问题,int judge[3100][3100] 放在函数里,执行时就报 segmentation fault 错误
judge如果是全局变量则没有问题,实在是晕了,难道函数中不能有二维数组?
[解决办法]
[解决办法]
数组过大导致的seg error的可以通过修改栈空间来解决。