Как получить доступ к полям класса, который в свою очередь является полем шаблонного класса?

111
23 ноября 2019, 05:20

В данном случае параметром шаблона функции является класс матрица, в arr находится сама матрица. Необходимо инициализировать arr (сделать обычную матрицу нужных мне размеров), а для этого необходимо знать размеры arr у передаваемых в функцию параметров m1 и m2. Как получить к ним доступ и возможно ли это?

template <class T>
TMatrix<T> operator*(const TMatrix<T> &m1, const TMatrix<T> &m2) {
   if (!m1.checkMul(m2)) throw "Умножение невозможно!";
   TMatrix<T> tempMul(m1.row, m2.col);
   for (int i = 0; i < tempMul.row; i++) {
       for (int j = 0; j < tempMul.col; j++) {
           for (int k = 0; k < m1.col; k++) {
               tempMul.arr[i * tempMul.col + j] += m1.arr[i * m1.col + k] * m2.arr[k * m2.col + j]; // arr не инициализирован, имеет размеры 0 на 0 по умолчанию, соответственно не может выполнить сложение
           }
       }
   }
   return tempMul;
}
READ ALSO
Русский язык в GUI приложении Qt

Русский язык в GUI приложении Qt

Пишу GUI приложение на QtХочу установить title окна "Текстовый редактор", но отображаются "Крокозябры"

135
Как добавить виджет в компоновку?

Как добавить виджет в компоновку?

Помогите, пожалуйста, добавить текстовое поле внутрь окна wПочему-то выходит создать два отдельных окна

105
Как написать код, работающий на GCC и VC++?

Как написать код, работающий на GCC и VC++?

Известно, что оба компиля не дружат между собой, и один код, работающий с одним из них, не будет компилиться на другом, если в нём присутствуют...

131
Не выводит матрицу и вектор. С++ [закрыт]

Не выводит матрицу и вектор. С++ [закрыт]

Не могу понять в чем причинаДолжно выводить матрицу и вектор размерностью которую задаешь сам

114