J'ai une classe de modèle en C++ qui ressemble à ceci:Comment renvoyer un pointeur vers un tableau multidimensionnel?
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;
Le compilateur n'aime pas le retour que j'ai pour getDataPointer(). Je veux retourner le même type je puis utiliser pour passer à cette fonction:
void perlin2D(unsigned char (*chunk)[64][64])
Quelqu'un peut-il me montrer comment faire?
Vous devriez probablement utiliser 'xMax',' yMax' et 'zMax' au lieu du' 64' codé en dur dans le type de retour. En outre, C n'a pas de modèles, j'ai donc supprimé la balise C. –