मुझे एक अंतरिक्ष आक्रमणकारियों के खेल के साथ एक बहुत ही अजीब समस्या है जिसमें मैं काम कर रहा हूं।0xC0000005: उल्लंघन उल्लंघन स्थान 0x00000000
Unhandled exception at 0x5edad442 (msvcr100d.dll) in SpaceInvaders.exe: 0xC0000005: Access violation reading location 0x00000000.
जब मैं नीचे दिए गए कोड का टुकड़ा में शामिल हैं: मूल रूप से मैं एक पहुँच उल्लंघन त्रुटि मिलती है। डिबगिंग करते समय दृश्य स्टूडियो मुझे "strcmp.asm" पर ले जाता है। ध्यान दें कि मैं अपने किसी भी कोड में strcmp() का उपयोग नहीं कर रहा हूं। क्या कोड में कुछ गड़बड़ है, या क्या यह एक समस्या है जो मैंने शामिल किया है? किसी भी मदद
const char* invarray[] = {"invader0.png", "invader1.png", "invader2.png", "invader3.png", "invader4.png"};
int i=0;
//Creates 55 invaders
for (int y=0; y<250; y+=50){
for (int x=0; x<550;x+=50){
Invader inv(invarray[y/50], x+50, y+550, 15, 15, 1, false, 250);
invaders[i] = inv;
}
}
हमलावर निर्माता के लिए धन्यवाद:
Invader::Invader(const char *pic, int x, int y, int w, int h, bool dir, bool des, int point) : MovingObject(pic, x, y, w, h) , direction(dir), destroyed(des), b(0), points(point){};
MovingObject निर्माता
MovingObject::MovingObject(const char *pic, int x, int y, int w, int h):picture(pic), positionX(x), positionY(y), width(w), height(h) {};
Invader –
के निर्माता के अंदर कोड दिखाएं त्रुटि संदेश से पता चलता है कि यह एक शून्य सूचक है, लेकिन मैं नहीं देख सकता कि यह आपके कोड में कहां होगा। आक्रमणकारक कन्स्ट्रक्टर के अलावा, कृपया हमें दिखाएं कि आक्रमणकारियों की सरणी कहां शुरू की गई है। आक्रमणकारियों की कॉपी कन्स्ट्रक्टर भी दिलचस्प हो सकती है, अगर इसमें कोई है। – Medo42
मैंने अभी कन्स्ट्रक्टर के साथ ओपी अपडेट किया है।@ मेडो, आक्रमणकारक सरणी को वैश्विक चर के रूप में शुरू किया गया था: "आक्रमणकार आक्रमणकारियों [55];" – Milk