我正在尝试为C ++中的函数内的2D数组动态分配内存。 除了使用malloc和dealloc编写了一个完全相同的问题,所以我想知道你是否可以帮我转换它以使用new和delete。这是另一个问题:
我尝试将其更改为以下代码,但我收到错误。
hnum
以下是使用malloc和dealloc的解决方法:
void assign_memory_for_board(int ROWS, int COLS, int *** board) {
*board = new int**[ROWS];
for (int i = 0; i < ROWS; i++) {
(*board)[i] = new int*[COLS];
}
}
谢谢!
答案 0 :(得分:0)
尝试
int AllocMatrix(int ***K, int h, int c){
*K = new int *[h];
for(int i=0; i < h; i++){
*K[i] = new int[c];
}
if(K == NULL){
return 0;
}
cout<<"Avaiable!"<<endl;
return 1;
}
答案 1 :(得分:-1)
你有额外的明星。该功能应该是
void assign_memory_for_board(int ROWS, int COLS, int *** board) {
*board = new int*[ROWS];
for (int i = 0; i < ROWS; i++) {
(*board)[i] = new int[COLS];
}
}