Fix SparseMatrix/SparseVector::sum() SparseMatrix/SparseVector::sum() uses Map to compute the sum. But Map expects a pointer.
diff --git a/Eigen/src/Sparse/SparseRedux.h b/Eigen/src/Sparse/SparseRedux.h index 14de421..a243be6 100644 --- a/Eigen/src/Sparse/SparseRedux.h +++ b/Eigen/src/Sparse/SparseRedux.h
@@ -42,7 +42,7 @@ SparseMatrix<_Scalar,_Options>::sum() const { ei_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); - return Matrix<Scalar,1,Dynamic>::Map(m_data.value(0), m_data.size()).sum(); + return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum(); } template<typename _Scalar, int _Options> @@ -50,7 +50,7 @@ SparseVector<_Scalar,_Options>::sum() const { ei_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); - return Matrix<Scalar,1,Dynamic>::Map(m_data.value(0), m_data.size()).sum(); + return Matrix<Scalar,1,Dynamic>::Map(&m_data.value(0), m_data.size()).sum(); } #endif // EIGEN_SPARSEREDUX_H