diff --git a/src/shared/cplusplus/CheckSpecifier.cpp b/src/shared/cplusplus/CheckSpecifier.cpp
index 86ac6923a55ed6b74f4cae1675fe0e5292aa6e7f..0b62d732935f69d1caaf5a8c63c52dfb047cb9c7 100644
--- a/src/shared/cplusplus/CheckSpecifier.cpp
+++ b/src/shared/cplusplus/CheckSpecifier.cpp
@@ -400,7 +400,9 @@ bool CheckSpecifier::visit(EnumSpecifierAST *ast)
             continue;
         const NameId *enumeratorName = control()->nameId(id);
         Declaration *decl = control()->newDeclaration(enumerator->firstToken(),
-                                                         enumeratorName);
+                                                      enumeratorName);
+
+        FullySpecifiedType initTy = semantic()->check(enumerator->expression, _scope);
         e->addMember(decl);
     }
     return false;