template struct TMatrixT; typedef TMatrixT TMatrixD; void f(const TMatrixD &m); template struct TMatrixT { template TMatrixT(const TMatrixT &); ~TMatrixT() {} void Determinant () { f(*this); } }; template struct TMatrixT; template struct TMatrixT;