|
#1
|
||||
|
||||
Software: - C++ - Probleme
Hier ist mein Code:
Code:
#include <iostream> #include <windows.h> #include <conio.h> int KeyInput (int SleepTime) { _getch (); if (GetAsyncKeyState (VK_UP)) return 1; if (GetAsyncKeyState (VK_DOWN)) return 2; if (GetAsyncKeyState (VK_LEFT)) return 3; if (GetAsyncKeyState (VK_RIGHT)) return 4; if (GetAsyncKeyState (VK_RETURN)) return 5; if (GetAsyncKeyState (VK_SPACE)) return 6; if (GetAsyncKeyState (VK_ESCAPE)) return 7; Sleep (SleepTime); return 0; } int main() { const int GAME_ARRAY_WIDTH = 9; //Jeweils +1, da es sich um const int GAME_ARRAY_HEIGTH = 6;//Angaben für ein Array handelt int gameArray[GAME_ARRAY_WIDTH][GAME_ARRAY_HEIGTH]; for (int y = 0; y <= GAME_ARRAY_HEIGTH; ++y) for (int x = 0; x <= GAME_ARRAY_WIDTH; ++x) gameArray[x][y] = 0; for (int y = 0; y<= GAME_ARRAY_HEIGTH; ++y) { for (int x = 0; x <= GAME_ARRAY_WIDTH; ++x) std::cout << gameArray[x][y]; std::cout << "\n"; } return 0; } Code:
"1.exe": "D:\Users\Mosch\Documents\Visual Studio 2005\Projects\1\debug\1.exe" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt. "1.exe": "D:\Windows\System32\ntdll.dll" geladen, Keine Symbole geladen. "1.exe": "D:\Windows\System32\kernel32.dll" geladen, Keine Symbole geladen. "1.exe": "D:\Windows\System32\apphelp.dll" geladen, Keine Symbole geladen. Eine Ausnahme (erste Chance) bei 0x00000000 in 1.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000. STATUS_STACK_BUFFER_OVERRUN encountered Windows hat einen Haltepunkt in 1.exe ausgelöst. Dies kann auf eine Beschädigung des Heaps zurückzuführen sein und weist auf ein Problem in 1.exe oder in einer der geladenen DLLs hin. Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster. Das Programm "[464] 1.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
__________________
I ELUCIDATE THE TRUTH OF A CASE FROM NOW ON! |
#2
|
||||
|
||||
Du darfst die for-Schleifen nicht <= sondern nur < ausführen
![]() gameArray[9][6] = 0; // ist ungültig und gibt ne Zugriffsverletzung Ein Array fängt halt bei 0 an und hat x Elemente -> [x] ist ausserhalb des Arrays |
#3
|
||||
|
||||
Ich Idiot hab meine Konstanten falsch initialisiert. Ich kanns nicht glauben, dass mir diese diese OFFENSICHTLICHE SCHEISSE nicht aufgefallen ist. Und ich hab mir das extra noch danebenkommentiert!
Kann den Thread mal einer löschen, ist ja peinlich ![]()
__________________
I ELUCIDATE THE TRUTH OF A CASE FROM NOW ON! |
#4
|
||||
|
||||
lol, mach dir nix draus, passiert jedem mal
![]() |
#5
|
||||
|
||||
Nur wegen offensichtlicher Peinlichkeiten, die der Unterhaltung der Allgemeinheit dienen, werden keine Threads gelöscht. Sonst müsste man hier ja viel zu viel löschen
![]() ![]() ![]() Außerdem hast du deine Konstanten nicht falsch initialisiert. ![]() ![]()
__________________
C3H6O Aceton Burning squirrel Und nicht vergessen: Dieser Beitrag hat Superkuh-Kräfte! |
#6
|
||||
|
||||
Ich weiss, dass das ne Alternative wäre, nur stört es mich, dass die Spielfeldgrösse dann ein Punkt niedriger aussieht, als sie es eigentlich ist (äh... du weisst, was ich meine).
__________________
I ELUCIDATE THE TRUTH OF A CASE FROM NOW ON! |
#7
|
||||
|
||||
Ähm ne nicht ganz
![]() Du müssteste ja Code:
const int GAME_ARRAY_WIDTH = 8; const int GAME_ARRAY_HEIGTH = 5; int gameArray[GAME_ARRAY_WIDTH+1][GAME_ARRAY_HEIGTH+1]; for (int y = 0; y <= GAME_ARRAY_HEIGTH; ++y) Code:
const int GAME_ARRAY_WIDTH = 9; //Jeweils +1, da es sich um const int GAME_ARRAY_HEIGTH = 6;//Angaben für ein Array handelt int gameArray[GAME_ARRAY_WIDTH][GAME_ARRAY_HEIGTH]; for (int y = 0; y <= GAME_ARRAY_HEIGTH-1; ++y) schreiben, damit es zu keinem Speicherzugriffsfehler kommt. Da sieht Code:
const int GAME_ARRAY_WIDTH = 8; const int GAME_ARRAY_HEIGTH = 5; int gameArray[GAME_ARRAY_WIDTH][GAME_ARRAY_HEIGTH]; for (int y = 0; y < GAME_ARRAY_HEIGTH; ++y) ![]() Oder ist es gerade einfach noch zu früh für mich und ich habe deinen Post nicht ganz verstanden?! ![]()
__________________
C3H6O Aceton Burning squirrel Und nicht vergessen: Dieser Beitrag hat Superkuh-Kräfte! |
#8
|
||||
|
||||
NÖ!!!
![]() Will ich doch nicht dafür verantwortlich sein, dass du nochmal nach der Lösung suchst und nen Thread erstellst... ergo: ... er bleibt. Hier sind schon ganz andere Fragen gestellt worden und peinlich brauchts dir auch nicht sein. ![]() ![]() ![]() EDIT: MyersGer auch mal im Lande? Schon lange nichts mehr von dir gelesen. ![]()
__________________
Gruß AMD-Powered Geändert von AMD-Powered (08-01-2008 um 00:34 Uhr). |
#9
|
||||
|
||||
Kommt drauf an, wo man liest.
![]()
__________________
C3H6O Aceton Burning squirrel Und nicht vergessen: Dieser Beitrag hat Superkuh-Kräfte! |
#10
|
||||
|
||||
Ist schon ok, hat mich ja auch nur so gefreut mal wieder was von dir zu lesen, dass ich dich irgendwie aus der Reserve locken musste um dir noch nen Post zu entlocken.
Hat ja auch geklappt. ![]() Ich lese im Moment auch mehr als ich schreibe. ![]()
__________________
Gruß AMD-Powered |