6

CppCheck 1.67 ने मेरी परियोजनाओं में से किसी एक पर बाउंड त्रुटि से पहचान की है और सरणी का उपयोग किया है। मुझे नहीं लगता था कि कोड गलत था, इसलिए मैंने कोड को कम से कम उदाहरण में तोड़ दिया है जो अभी भी एक ही त्रुटि उठाता है। CppCheck पहले C++ उदाहरण (नामस्थान के अंदर) के लिए निम्न त्रुटि क्यों देता है लेकिन दूसरे उदाहरण के लिए नहीं (नामस्थान के बिना)?सीपीपी चेक इस स्थैतिक कॉन्स सरणी के लिए सीमा त्रुटि से सरणी का उपयोग क्यों करता है?

क्या मैं अपने सरणी प्रारंभिकरण पर नेमस्पेस के साथ कुछ गलत कर रहा हूं या क्या यह सीपीपी चेक में एक त्रुटि है?

रिपोर्ट की गई त्रुटि: "ऐरे 'testArray [5]' इंडेक्स 5 पर पहुंचा, जो सीमा से बाहर है।"

namespace TestNamespace 
{ 
    class TestClass 
    { 
     static const int testArray[5]; 
    }; 

    const int TestClass::testArray[] = { 1, 2, 3, 4, 5}; 
} 

कोई सूचना त्रुटियों:

FP arrayIndexOutOfBounds: member variable of class declared in namespace:

class TestClass 
{ 
    static const int testArray[5]; 
}; 

const int TestClass::testArray[] = { 1, 2, 3, 4, 5}; 

उत्तर

4

CppCheck में कोई त्रुटि है, शायद ट्रैकर पर इस मुद्दे से जुड़ा हुआ है होना करने के लिए लगता है।

+0

यह मेरे प्रश्न का उत्तर देता है, धन्यवाद। इसके बारे में और चिंता मत करो। मुझे लगता है कि बग एक फिक्स के बिना बंद है हालांकि? वास्तव में – Owen

+2

। मैंने टिकट फिर से खोला है और इस सवाल का एक लिंक प्रदान किया है, उम्मीद है कि वे इसे ठीक करेंगे। –

संबंधित मुद्दे