Ich mache ein Tetris-Spiel in C++ und in der DrawBoard() -Funktion bekomme ich einen Fehler, der lautet: Ausnahme bei 0x0F52DA36 (sfml-Grafik-d-2.dll) in Tetris_C++ geworfen. exe: 0xC0000005: Schreibort für Zugriffsverletzung 0x013EDA88.SFML Zugriffsverletzung
Wenn für diese Ausnahme ein Handler vorhanden ist, kann das Programm sicher fortgesetzt werden.
Hier ist der Code:
void DrawBoard() {
for (int i = 0; i < boardWidth; i++)
{
for (int j = 0; j < boardHeight; i++)
{
switch (board[i][j]) {//What's wrong with this?
case 'b':
squares[i][j].setFillColor(sf::Color::Blue);
break;
case 'c':
squares[i][j].setFillColor(sf::Color::Cyan);
break;
case 'y':
squares[i][j].setFillColor(sf::Color::Yellow);
break;
case 'o':
squares[i][j].setFillColor(sf::Color(255, 165, 0));//Orange
break;
case 'p':
squares[i][j].setFillColor(sf::Color(150, 50, 250));//Purple
break;
default:
break;
}
}
}
for (int x = 0; x < boardWidth; x++) {
for (int y = 0; y < boardHeight; y++) {
window.draw(squares[x][y]);
}
}
}
Willkommen bei Stack-Überlauf. Bitte nehmen Sie sich die Zeit, [The Tour] (http://stackoverflow.com/tour) zu lesen und beziehen Sie sich auf das Material aus der [Hilfe] (http://stackoverflow.com/help/asking), was und wie Sie können fragen Sie hier. –
Das richtige Werkzeug, um solche Probleme zu lösen, ist Ihr Debugger. Sie sollten Schritt für Schritt durch Ihren Code * gehen, bevor Sie auf Stack Overflow nachfragen. Für weitere Hilfe lesen Sie bitte [Wie kleine Programme zu debuggen (von Eric Lippert)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Zumindest sollten Sie Ihre Frage bearbeiten, um ein [minimales, vollständiges und verifizierbares] (http://stackoverflow.com/help/mcve) Beispiel einzufügen, das Ihr Problem zusammen mit den Beobachtungen, die Sie in der Debugger. –
Ohne zu wissen, was "Brett" und "Quadrate" sind, kann Ihnen niemand helfen. –