template<typename T, int N, int M>
class matrix {
T vals[N][M] = {};
public:
matrix() {
//sth
}
};
template <typename T, int N, int M>
matrix<T, N, M> operator*(matrix<T, N, M> l, matrix<T, N, M> r) {
return matrix<T, N, M>{};
}
в прямом эфире: https://godbolt.org/z/5dJOXK
Вы также можете написать это как друга, и вам не нужно будет повторно набирать все содержимое шаблона:
template<typename T, int N, int M>
class matrix {
T vals[N][M] = {};
public:
matrix() {
//sth
}
friend matrix<T, N, M> operator*(matrix<T, N, M> l, matrix<T, N, M> r) {
return matrix<T, N, M>};
}
};
или просто какчлен:
template<typename T, int N, int M>
class matrix {
T vals[N][M] = {};
public:
matrix() {
//sth
}
matrix<T, N, M> operator*(matrix<T, N, M> r) {
return matrix<T, N, M>{};
}
};