6

CppCheck 1.67, projelerimden birinde sınır tanımadığını belirledi ve dizi hatası verdi. Kodun yanlış olduğunu düşünmedim, bu yüzden kodu aynı hatayı kaldıran çıplak minimum örneğe aldırdım. Neden CppCheck ilk C++ örneğini (ad alanı içinde) ancak ikinci örnek için (ad alanı olmadan) aşağıdaki hatayı verir?CppCheck, bu statik const dizisi için neden sınırların dışında bir dizi hatası veriyor?

Dizi dizilimimde ad alanıyla ilgili bir sorun mu yapıyorum veya bu CppCheck'teki bir hatadır?

Bildirilen hata: "Array 'testArray [5]', sınırların dışında kalan dizin 5'te erişildi."

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}; 

cevap

4

belki izleyicide bu konuyla bağlandığı CppCheck bir hata, gibi görünüyor:

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

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

yok hataları rapor etmiştir.

+0

Bu, sorumu yanıtlar, teşekkürler. Daha fazla endişelenmeyecek. Sanırım hata düzeltmeden kapatılıyor mu? – Owen

+2

Gerçekten. Biletleri yeniden açtım ve bu soruya bir bağlantı sağladım, umarım bunu düzeltirler. –

İlgili konular