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

标签 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])

谁能告诉我怎么做?

最佳答案

将签名更改为:

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

关于c++ - 如何返回指向多维数组的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638299/

相关文章:

c++ - 存储在文件中的记录

c++ - 如何将 C++ 函数指针作为带有一些固定值的参数传递?

c++ - 非常量指针类型的参数不调用带有常量指针模板类型参数的函数

c - c中结构指针之间的区别

c - 倒回文件指针

c++ - 转换运算符模板特化

c# - 在 C++ 和 C# ByRef 之间传递字节数组引发 AccessViolationException

java - 为什么当通过 JNI 在 Java 代码中运行 EGL 函数时,我对 EGL 函数的调用会发生变化?

c - 初始化并访问指针数组中的指针

c - 将一个字符数组分配给另一个字符数组会产生错误。为什么?