ゲームを実行しようとすると「0x00EEAC96 で例外がスローされました (スタアド.exe 内): 0xC0000005: 場所 0x00000038 の読み取り中にアクセス違反が発生しました
プログラム '[3544] スタアド.exe' はコード 0 (0x0) で終了しました。」というエラーがしてしまいます。自動変数のthisを調べてみたところ、CPlayer *の0x00000000を示しています。http://dixq.net/forum/viewtopic.php?f=3&t=16537#p130003のようなC言語の基礎知識のミスでもないし…。
ジョイパッドの入力のデバックでアクセス違反が発生した。
ジョイパッドの入力のデバックでアクセス違反が発生した。
最後に編集したユーザー keito94 on 2017年4月06日(木) 19:27 [ 編集 1 回目 ]
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: ジョイパッドの入力でアクセス違反が発生した。
Main.cppの30行目だったかな?
を
にすれば解決すると思います。
newしたものはポインタ型変数に代入しないとポインタ型変数の参照先がnullptr(0x00000000)のままになってしまいます。
newしたものはポインタ型変数に代入しないとポインタ型変数の参照先がnullptr(0x00000000)のままになってしまいます。
結構説明が下手ですのでご了承ください。割と言葉が足りなかったり文字だらけで分かりにくかったりします。
Re: ジョイパッドの入力のデバックでアクセス違反が発生した。
ありがとうございます!!
newしたら、代入しないといけないのですか…。
newしたら、代入しないといけないのですか…。
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。
Re: ジョイパッドの入力のデバックでアクセス違反が発生した。
オフトピック
newはあくまで変数の実体を生成するものであって、生成した変数を利用するためには生成した変数の存在する場所(アドレス)の入れ物(ポインタ型変数)が必要になります。
deleteはポインタ型変数に行うことによって格納しているアドレスに存在する変数を削除、メモリの解放を行うものです。
deleteはポインタ型変数に行うことによって格納しているアドレスに存在する変数を削除、メモリの解放を行うものです。
結構説明が下手ですのでご了承ください。割と言葉が足りなかったり文字だらけで分かりにくかったりします。