diff --git a/Eigen/src/Core/StlIterators.h b/Eigen/src/Core/StlIterators.h index a24d4c236..c466aaf0e 100644 --- a/Eigen/src/Core/StlIterators.h +++ b/Eigen/src/Core/StlIterators.h @@ -335,10 +335,9 @@ class pointer_based_stl_iterator { typedef std::conditional_t pointer; typedef std::conditional_t reference; - pointer_based_stl_iterator() noexcept : m_ptr(0) {} - pointer_based_stl_iterator(XprType& xpr, Index index) noexcept : m_incr(xpr.innerStride()) { - m_ptr = xpr.data() + index * m_incr.value(); - } + pointer_based_stl_iterator() noexcept : m_ptr(0), m_incr(XprType::InnerStrideAtCompileTime) {} + pointer_based_stl_iterator(XprType& xpr, Index index) noexcept + : m_ptr(xpr.data() + index * xpr.innerStride()), m_incr(xpr.innerStride()) {} pointer_based_stl_iterator(const non_const_iterator& other) noexcept : m_ptr(other.m_ptr), m_incr(other.m_incr) {} diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index a0e160eba..378c50179 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -153,7 +153,6 @@ struct promote_index_type { template class variable_if_dynamic { public: - EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(variable_if_dynamic) EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE explicit variable_if_dynamic(T v) { EIGEN_ONLY_USED_FOR_DEBUG(v); eigen_assert(v == T(Value));