Aquí el constructor.
template <class T, int N>
Matriz3D<T, N>::Matriz3D(){
mat = new T**[N];
for(unsigned i=0; i<N; i++){
mat[i] = new T*[N];
for(unsigned j=0; j<N; j++){
mat[i][j] = new T[N];
for(unsigned k=0; k<N; k++) mat[i][j][k] = NULL;
}
}
}
Declaracion de la clase(La matriz es cubica, mismo tamaño para i, j,k)
template <class T,int N>
class Matriz3D{
T ***mat;
public:
Matriz3D();
Matriz3D(const Matriz3D<T,N>& orig);
T &operator()(unsigned i, unsigned j, unsigned k);
Matriz3D<T,N> &operator=(const Matriz3D<T,N> &orig);
~Matriz3D();
};
Y mi declaración en el main
Matriz3D<Particula*, 100> mt;
Me tira fallos rarisimos, ¿Veis algún fallo en algún lado?