Я считаю, что у вас должно быть больше кода, чем вы опубликовали, потому что это
template<class T, unsigned int m, unsigned int n>
class Matrix {};
template<class T, unsigned int m, unsigned int n>
using rowVector<T,n> = Matrix<T,1,n>;
template<class T, unsigned int m, unsigned int n>
using colVector<T,m> = Matrix<T,m,1>;
Вызывает следующую ошибку
prog.cc:5:16: error: expected '=' before '<' token
using rowVector<T,n> = Matrix<T,1,n>;
^
prog.cc:5:16: error: expected type-specifier before '<' token
prog.cc:8:16: error: expected '=' before '<' token
using colVector<T,m> = Matrix<T,m,1>;
^
prog.cc:8:16: error: expected type-specifier before '<' token
Правильный синтаксис для шаблона псевдонима это:
template < template-parameter-list >
using identifier attr(optional) = type-id ;
Итак, исправление
template<class T, unsigned int m, unsigned int n>
using rowVector = Matrix<T,1,n>;
template<class T, unsigned int m, unsigned int n>
using colVector = Matrix<T,m,1>;
И я полагаю, вы хотите удалить m
как параметр rowVector
и n
как параметр colVector
:
template<class T, unsigned int n>
using rowVector = Matrix<T,1,n>;
template<class T, unsigned int m>
using colVector = Matrix<T,m,1>;