Originariamente inviato da RooccoXXI
Il codice compila ma... é corretto?
Alcune osservazioni.
L'intera definizione di classe e delle funzioni va messo tra:
#ifndef MATRIX_H
#define MATRIX_H
ed #endif
non solo la definizione della classe.

Le funzioni definite fuori dal corpo della classe vanno specificate inline.

Definire il template in quel modo è scomodo, dato che per avere il tipo di default (il double) sei costretto a scrivere:
codice:
Matrix<> ntx
senza avere nessun vantaggio particolare.

Io abbandonerei il T** in favore del T* (simulando la matrice tramite un array). E' più semplice da gestire e non ha contro indicazioni.

Nota a margine.
Potresti sperimentare l'uso di un allocatore (in stile STL).