C++ 如何将由三个指针组成的矩阵动态分配给类?
这是我的课C++ 如何将由三个指针组成的矩阵动态分配给类?,c++,class,pointers,C++,Class,Pointers,这是我的课 class Map { Field*** f; int rows; int columns; }; 如何生成指向类字段的指针矩阵? 我试过了,但没用 Map(int rows_, int columns_) : rows(rows_), columns(columns_) { f = new Field*[][]; *f = new Field*[rows]; f
class Map {
Field*** f;
int rows;
int columns;
};
如何生成指向类字段的指针矩阵?
我试过了,但没用
Map(int rows_, int columns_) : rows(rows_), columns(columns_) {
f = new Field*[][];
*f = new Field*[rows];
for (int i = 0; i < rows; i++) {
*f[i] = new Field[columns];
}
}
Map(int行,int列):行(行),列(列){
f=新字段*[]];
*f=新字段*[行];
对于(int i=0;i 你可以考虑重新考虑一下你在做什么。平坦的一维阵列是更好的选择
如果你仍然想要一个***指针,这里是你如何制作的:
f = new Field**[Row];
for(int i =0; i<Row; i++){
f[i] = new Field*[Col];
for(int j =0; j<Col; j++){
f[i][j] = new Field[H];
for(int k = 0; k<H;k++){
f3D[i][j][k] = 0;
}
}
}
f=新字段**[行];
对于(int i=0;iIt应该是指向类的指针矩阵,而不是3D数组,但谢谢你。f=new Field*[]];
——这应该做什么?你需要指定指向指针的指针的数量。编译器无法猜出这个数量——你需要知道它是什么。还需要使用三星创建(在国际海事组织,这不是一件好事)。