diff --git a/Numeric/gmshLinearSystemGmm.h b/Numeric/gmshLinearSystemGmm.h
index 04acada4e218ab0b9c332457de3bcf3de570ca64..f94d7b4b912f9239c04c5478974029a87fc33e04 100644
--- a/Numeric/gmshLinearSystemGmm.h
+++ b/Numeric/gmshLinearSystemGmm.h
@@ -79,16 +79,16 @@ public :
   {
     Msg::Error("Gmm++ is not available on this version of gmsh");
   }
-  virtual bool isAllocated () const {}
+  virtual bool isAllocated () const { return false; }
   virtual void allocate (int nbRows) {}
   virtual void  addToMatrix    (int _row, int _col, double val) {}
-  virtual double getFromMatrix (int _row, int _col) const {}
+  virtual double getFromMatrix (int _row, int _col) const { return 0.; }
   virtual void  addToRightHandSide    (int _row, double val) {}
-  virtual double getFromRightHandSide (int _row) const {}
-  virtual double getFromSolution (int _row) const {}
+  virtual double getFromRightHandSide (int _row) const { return 0.; }
+  virtual double getFromSolution (int _row) const { return 0.; }
   virtual void zeroMatrix () {}
   virtual void zeroRightHandSide () {}
-  virtual int systemSolve () {}
+  virtual int systemSolve () { return 0; }
 };
 
 #endif