如何返回指向多维数组的指针?

时间:2011-12-26 18:46:07

标签: c++ pointers

我在C ++中有一个模板类,如下所示:

template <typename T, int xMax, int yMax, int zMax>
class Volume {
public:
    T*[64][64] getDataPointer() {return data;} //compiler doesn't like this line
private:
    T data[xMax][yMax][zMax];
};

typedef Volume<unsigned char, 64, 64, 64> Chunk;

编译器不喜欢getDataPointer()的返回。我想返回我用来传递给这个函数的相同类型:

void perlin2D(unsigned char (*chunk)[64][64])

有人可以告诉我该怎么做吗?

2 个答案:

答案 0 :(得分:8)

将签名更改为:

T (*getDataPointer())[64][64] {return data;}

答案 1 :(得分:-1)

T *** getDataPointer(){return data;} 也许你需要这样的东西?