diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp
index 4b2604de407ef54f7b671f5007c8b00cf1ca6530..b7143797ad89458abb3dab387797e3b015936af9 100644
--- a/src/shared/cplusplus/CheckDeclaration.cpp
+++ b/src/shared/cplusplus/CheckDeclaration.cpp
@@ -332,6 +332,13 @@ bool CheckDeclaration::visit(FunctionDefinitionAST *ast)
     return false;
 }
 
+bool CheckDeclaration::visit(MemInitializerAST *ast)
+{
+    (void) semantic()->check(ast->name, _scope);
+    FullySpecifiedType ty = semantic()->check(ast->expression, _scope);
+    return false;
+}
+
 bool CheckDeclaration::visit(LinkageBodyAST *ast)
 {
     for (DeclarationListAST *decl = ast->declarations; decl; decl = decl->next) {
diff --git a/src/shared/cplusplus/CheckDeclaration.h b/src/shared/cplusplus/CheckDeclaration.h
index 93ef59f941fbb4a313c13a8c2f4686cbce8f61c6..fcb773dd0edc82b0820783edd878cbbd83393a9f 100644
--- a/src/shared/cplusplus/CheckDeclaration.h
+++ b/src/shared/cplusplus/CheckDeclaration.h
@@ -90,6 +90,7 @@ protected:
     virtual bool visit(TemplateTypeParameterAST *ast);
     virtual bool visit(UsingAST *ast);
     virtual bool visit(UsingDirectiveAST *ast);
+    virtual bool visit(MemInitializerAST *ast);
 
     virtual bool visit(ObjCProtocolDeclarationAST *ast);
     virtual bool visit(ObjCProtocolForwardDeclarationAST *ast);