diff --git a/src/checkclass.cpp b/src/checkclass.cpp index 6562f3051..ffb71b671 100644 --- a/src/checkclass.cpp +++ b/src/checkclass.cpp @@ -381,7 +381,7 @@ void CheckClass::checkConstructors(const Token *tok1, const char funcname[]) // Is it a static member variable? std::ostringstream pattern; - pattern << className << "::" << var->name << "="; + pattern << className << " :: " << var->name << " ="; if (Token::findmatch(_tokenizer->tokens(), pattern.str().c_str())) continue; diff --git a/test/testclass.cpp b/test/testclass.cpp index a6d81cf27..fe6b0761d 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -204,6 +204,19 @@ private: " float f;\n" "};\n"); ASSERT_EQUALS("[test.cpp:6]: (style) Member variable not initialized in the constructor 'B::f'\n", errout.str()); + + checkUninitVar("class C\n" + "{\n" + " FILE *fp;\n" + "\n" + "public:\n" + " C(FILE *fp);\n" + "};\n" + "\n" + "C::C(FILE *fp) {\n" + " C::fp = fp;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); } void uninitVarEnum()