diff --git a/src/ExprNode.hh b/src/ExprNode.hh
index 875e27d9607306bc28af54929c3d778e311e208a..7710ba1ee0d078530413b0a9ee98e7eecc62119f 100644
--- a/src/ExprNode.hh
+++ b/src/ExprNode.hh
@@ -810,9 +810,11 @@ public:
   virtual pair<int, expr_t> matchEndogenousTimesConstant() const;
 
   //! Exception thrown when matching fails
-  struct MatchFailureException
+  class MatchFailureException
   {
+  public:
     const string message;
+    MatchFailureException(string message_arg) : message(message_arg) {}
   };
 
   /* Match an expression of the form ∏ x(l)ᵏ, where x are endogenous, as used