char **create_2darray(int rows, int cols){
char **a;
a = new char *[rows];
for(int i;i<rows;i++){
a[i]=new char[cols];
}
return a;
}
char **set_2darry(int rows, int cols, char** array){
char ** a = array;
for(int i = 0; i < rows; i++){
for(int x = 0; x < cols; x++){
a[i][x]= '0';
/* here is the problem */
}
}
return a;
}
struct GOL{
char** table;
int gen;
int rows;
int cols;
};
int main(int argc, const char * argv[]) {
GOL game;
char** table2= create_2darray(20, 40);
game.table = set_2darry(20, 40 , table2);
cout<< game.table;
return 0;
}
我想用不同的函数创建一个2D数组,因为这就是我教授需要我们做的事情,但似乎没有用。 我怎么能修改它,或者它有什么问题?
答案 0 :(得分:0)
问题在于这一行:
for (int i; i<rows; i++)
由于i
未初始化,您的程序将执行某些操作,但这并不意味着它将是您所期望的。体面的编译器甚至会告诉你。