From d49b1348e6eaca8be43cf5d69176ca3f3f70583e Mon Sep 17 00:00:00 2001
From: podlesny <podlesny@zedat.fu-berlin.de>
Date: Fri, 25 Jan 2019 15:19:58 +0100
Subject: [PATCH] init public members with nullptr for more meaningful fault
 messages if not set

---
 dune/solvers/iterationsteps/projectedblockgsstep.cc | 4 ++++
 dune/solvers/iterationsteps/projectedblockgsstep.hh | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/dune/solvers/iterationsteps/projectedblockgsstep.cc b/dune/solvers/iterationsteps/projectedblockgsstep.cc
index 83e28e0..e193242 100644
--- a/dune/solvers/iterationsteps/projectedblockgsstep.cc
+++ b/dune/solvers/iterationsteps/projectedblockgsstep.cc
@@ -5,6 +5,8 @@ template<class MatrixType, class VectorType>
 inline
 void ProjectedBlockGSStep<MatrixType, VectorType>::iterate()
 {
+	assert(hasObstacle_!=nullptr);
+	
     if (hasObstacle_->size()!= (unsigned int)this->x_->size())
         DUNE_THROW(SolverError, "Size of hasObstacle (" << hasObstacle_->size()
                    << ") doesn't match solution vector (" << this->x_->size() << ")");
@@ -46,6 +48,8 @@ void ProjectedBlockGSStep<MatrixType, VectorType>::iterate()
 
             // Solve the local constraint minimization problem
             // We use a projected Gauss-Seidel, for lack of anything better
+            assert(obstacles_!=nullptr);
+            
             Obstacle defectObstacle = (*obstacles_)[i];
             defectObstacle -= x;
 
diff --git a/dune/solvers/iterationsteps/projectedblockgsstep.hh b/dune/solvers/iterationsteps/projectedblockgsstep.hh
index 9a49116..821055d 100644
--- a/dune/solvers/iterationsteps/projectedblockgsstep.hh
+++ b/dune/solvers/iterationsteps/projectedblockgsstep.hh
@@ -48,8 +48,8 @@ public:
 
     using HasObstacle = Dune::BitSetVector<BlockSize>;
     using Obstacle = BoxConstraint<Field, BlockSize>;
-    const HasObstacle* hasObstacle_;
-    const std::vector<Obstacle>* obstacles_;
+    const HasObstacle* hasObstacle_ = nullptr;
+    const std::vector<Obstacle>* obstacles_ = nullptr;
 };
 
 #include "projectedblockgsstep.cc"
-- 
GitLab