шаблонного класса матриц и захотелось получить мне в теле этой функции итераторы на начало и конец матрицы. Функции cbegin и cend уже реализованы и работают. Но компилятор не позволяет мне их вызвать, пишет следующую ошибку:
error C2662: 'mat_iterator<T> ml::math::matrix<T>::cbegin(void)': cannot convert 'this' pointer from 'const ml::math::matrix<float>' to 'ml::math::matrix<float> &'
Вызвать их пытаюсь для передачи в алгоритм std::transform:
matrix<T> operator-() const
{
matrix<T> temp(sizeM, sizeN);
std::transform(cbegin(), cend(), temp.begin(), [](T item) { return -item; });
return temp;
}
Можете объяснить суть этой ошибки и как ее обойти?
Ты забыл пометить cbegin конст
Обсуждают сегодня