Я новичок в C ++ и пытаюсь запрограммировать реплику Pong с использованием freeglut с Visual Studio 2010. Мой код работал нормально, пока я не внес в него некоторые изменения, чтобы сделать его более объектно-ориентированным. Когда я запустил его снова, он работал пару раз, пока я не сделал небольшое редактирование (если честно, я не могу вспомнить, что именно я изменил, так как я только собрал свой код на следующее утро), и я получил это ошибка выполнения, как только я запустил программу:
Необработанное исключение на 0x1000bbae в Pong.exe: 0xC0000005: Место записи нарушения прав доступа 0x000000a8.
Я не особенно хорош в отладке, но я считаю, что это происходит в строке glutDisplayFunc () в моем основном цикле. Я думаю, что это как-то связано с нулевыми указателями, но я понятия не имею, что. Может ли кто-нибудь помочь мне найти мою проблему?
Ниже приведена соответствующая часть моей программы (Main.cpp):
include "header.h"
using namespace std;
int main(int argc, char** argv) {
//Initialize GLUT
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(WIDTH, HEIGHT); //Set the window size
//Create the window
//modesetup(2);
//Set handler functions for drawing, keypresses, and window resizes
glutDisplayFunc(mainDraw);
glutKeyboardFunc(handleKeypress);
glutKeyboardUpFunc(handleKeyup);
glutSpecialFunc(handleSpecial);
glutSpecialUpFunc(handleSpecialUp);
glutReshapeFunc(handleResize);
glutTimerFunc(25, update, 0);
glutMainLoop(); //Start the main loop. glutMainLoop doesn't return.
return 0; //This line is never reached
}
Заранее спасибо!
РЕДАКТИРОВАТЬ: Я только что сделал новую программу, которая использует очень стандартные функции для всего, но я все еще получаю эту ошибку. Я начинаю думать, что может быть что-то не так с моей установкой freeglut.