次のコードのコンパイルに問題があります。コンパイラーは次のように述べています。
Assigning to 'RawChunk::Ptr' (aka 'unsigned char (*)[128][16]') from incompatible type 'RawChunk::Chunk *' (aka 'unsigned char (*)[16][128][16]');
誰かが私が間違っていることを知っていますか?単純な間違いのように思えますが、何を変更するのかわかりません。
template <int dim>
class RawChunkWindow {
public:
typedef unsigned char (*Ptr)[ChunkDimensions::MAX_Y][ChunkDimensions::MAX_Z];
typedef unsigned char Chunk[ChunkDimensions::MAX_X][ChunkDimensions::MAX_Y][ChunkDimensions::MAX_Z];
RawChunkWindow() {
for (int i = 0; i < dim; ++i) {
for (int j = 0; j < dim; ++j) {
window[i][j] = &payload[i][j]; //compiler complains here
}
}
}
private:
Ptr window[dim][dim];
Chunk payload[dim][dim];
};