私はC++を初めて使っています。私は、Visual Studio 2010でfreeglutを使ってPongのレプリカをプログラムしようとしています。オブジェクト指向にするためにいくつかのリビジョンを作成するまで、 。私はもう一度それを走らせたが、私はちょっとした編集をするまで数回働いた(正直言って、翌朝私のコードを作成しただけなので、私が変更したことは覚えていない)。実行時にエラーが発生しました。ポインタエラーデバッグヘルプ
Pong.exeの0x1000bbaeで未処理の例外が発生しました。0xC0000005:0x000000a8というアクセス違反が発生しました。
私はデバッグはあまりよくありませんが、私はこれが私のメインループのglutDisplayFunc()に来ていると思います。私はこれがnullポインタと関係があると思いますが、私は何が分かりません。誰かが私の問題を見つけるのを助けることができますか?以下は
私のプログラム(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のインストールに何か問題があると思っています。
'glutDisplayFunc'行にブレークポイントを設定し、そのポイントからプログラムを歩いていくとどうなりますか?そして、問題の可能性をより良く感じるために、 'mainDraw'のいくつか/すべてを見る必要があるでしょう。 –
デバッガを使用して、特定の行または関数を取得する必要があります。このようなコードを見せても何の助けにもなりません。本当のロジックもないのです。 – Puppy
あなたはそれを言うと思いました。 glutDisplayFuncでブレークポイントを設定してF11キーを押すと、エラーがすぐにポップアップします。テスト目的のために、私はmainDrawのコードを完全にコメントアウトしました。 – Draksis