Don't suggestInitializationList for arrays used as initializer (#5640)
This commit is contained in:
parent
2aaae741dd
commit
b10fce304e
|
@ -792,6 +792,9 @@ void CheckClass::initializationListUsage()
|
||||||
tok2->strAt(-1)!=".") { // Is there a dependency between two member variables?
|
tok2->strAt(-1)!=".") { // Is there a dependency between two member variables?
|
||||||
allowed = false;
|
allowed = false;
|
||||||
break;
|
break;
|
||||||
|
} else if (var2 && (var2->isArray() && var2->isLocal())) { // Can't initialize an array
|
||||||
|
allowed = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if (tok2->str() == "this") { // 'this' instance is not completely constructed in initialization list
|
} else if (tok2->str() == "this") { // 'this' instance is not completely constructed in initialization list
|
||||||
allowed = false;
|
allowed = false;
|
||||||
|
|
|
@ -5733,6 +5733,17 @@ private:
|
||||||
" Fred() { s = \"foo\"; }\n"
|
" Fred() { s = \"foo\"; }\n"
|
||||||
"};");
|
"};");
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
|
checkInitializationListUsage("class Fred {\n" // #5640
|
||||||
|
" std::string s;\n"
|
||||||
|
" Fred() {\n"
|
||||||
|
" char str[2];\n"
|
||||||
|
" str[0] = c;\n"
|
||||||
|
" str[1] = 0;\n"
|
||||||
|
" s = str;\n"
|
||||||
|
" }\n"
|
||||||
|
"};");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// ticket #4290 "False Positive: style (noConstructor): The class 'foo' does not have a constructor."
|
// ticket #4290 "False Positive: style (noConstructor): The class 'foo' does not have a constructor."
|
||||||
|
|
Loading…
Reference in New Issue