Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将由三个指针组成的矩阵动态分配给类?_C++_Class_Pointers - Fatal编程技术网

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*[]];
——这应该做什么?你需要指定指向指针的指针的数量。编译器无法猜出这个数量——你需要知道它是什么。还需要使用三星创建(在国际海事组织,这不是一件好事)。