diff --git a/modules/core/include/opencv2/core/mat.hpp b/modules/core/include/opencv2/core/mat.hpp index dd0d4a455..a0560a197 100644 --- a/modules/core/include/opencv2/core/mat.hpp +++ b/modules/core/include/opencv2/core/mat.hpp @@ -2880,9 +2880,9 @@ public: //! copy operator MatConstIterator_& operator = (const MatConstIterator_& it); //! returns the current matrix element - _Tp operator *() const; + const _Tp& operator *() const; //! returns the i-th matrix element, relative to the current - _Tp operator [](ptrdiff_t i) const; + const _Tp& operator [](ptrdiff_t i) const; //! shifts the iterator forward by the specified number of elements MatConstIterator_& operator += (ptrdiff_t ofs); diff --git a/modules/core/include/opencv2/core/mat.inl.hpp b/modules/core/include/opencv2/core/mat.inl.hpp index 1ac1f040a..2ba152f37 100644 --- a/modules/core/include/opencv2/core/mat.inl.hpp +++ b/modules/core/include/opencv2/core/mat.inl.hpp @@ -2550,7 +2550,7 @@ MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator = (const MatConstIterat } template inline -_Tp MatConstIterator_<_Tp>::operator *() const +const _Tp& MatConstIterator_<_Tp>::operator *() const { return *(_Tp*)(this->ptr); } @@ -2656,7 +2656,7 @@ MatConstIterator_<_Tp> operator - (const MatConstIterator_<_Tp>& a, ptrdiff_t of } template inline -_Tp MatConstIterator_<_Tp>::operator [](ptrdiff_t i) const +const _Tp& MatConstIterator_<_Tp>::operator [](ptrdiff_t i) const { return *(_Tp*)MatConstIterator::operator [](i); }