CppCheck 1.67 hat identifiziert und Array-Zugriff außerhalb der Grenzen Fehler in einem meiner Projekte. Ich dachte nicht, dass der Code falsch war, also habe ich den Code auf das Minimum-Beispiel reduziert, das immer noch denselben Fehler verursacht. Warum gibt CppCheck den folgenden Fehler für das erste C++ - Beispiel (innerhalb eines Namespace), aber nicht für das zweite Beispiel (ohne Namespace)?Warum gibt CppCheck einen Array-Zugriff außerhalb der Grenzen für dieses statische const-Array?
Mache ich etwas falsch mit dem Namespace bei meiner Array-Initialisierung oder ist das ein Fehler in CppCheck?
Gemeldeter Fehler: "Array 'testArray [5]' hat bei Index 5 zugegriffen, was außerhalb der Grenzen liegt."
namespace TestNamespace
{
class TestClass
{
static const int testArray[5];
};
const int TestClass::testArray[] = { 1, 2, 3, 4, 5};
}
keine Fehler gemeldet:
class TestClass
{
static const int testArray[5];
};
const int TestClass::testArray[] = { 1, 2, 3, 4, 5};
Dies beantwortet meine Frage, danke. Mach dir keine Sorgen darüber weiter. Ich denke, dass der Fehler ohne eine Reparatur geschlossen wird? – Owen
In der Tat. Ich habe das Ticket wieder geöffnet und einen Link zu dieser Frage bereitgestellt, hoffentlich werden sie das beheben. –