codice:
Matrix <double, std::string, std::string> M;
Questo è contemplato?
Perché se non è così non serve (ed è anzi un problema) utilizzare i tipi parametrici per le dimensioni di riga e di colonna.

codice:
template< typename mType>
class Matrix;
Comunque vediamo per ora di correggere quell' errore di sintassi.A quanto pare il problema è nel main perché la dichiarazione mi sembra corretta.Puoi postare anche il codice del main?