こんにちは はじめまして
今回の質問なのですが
typedef struct WMain_st
{
BYTE falseflag;//エラーが起きた場合は0以外になります。
HWND hWnd;
HDC hDC;
MSG msg;
MYBOOL exitflag;//終了のフラグ
BYTE RFPS;//実質FPSの値
BYTE DFPS;//設定したFPSの値
HANDLE MultihMutex;//ミューテックス
char szAppName[256];//型にいれて定義
char windowclassname[256];//型に入れての定義
USHORT CliantWidth;//クライアントの横サイズ
USHORT CliantHeight;//クライアントの縦サイズ
char windowname[256];//ウィンドウの名前
DWORD MY_WINDOW_SYS;
WINMOUSEINPUT MouseInput;
MYBOOL InitFlag;
}WMain_sys, *WMainP_sys;
や
class DirectOBJ_cl
{
private:
public:
LPDIRECT3D9 pD3d;//Direct3Dオブジェクト
LPDIRECT3DDEVICE9 pDevice;//Direct3Dデバイスオブジェクト
D3DPRESENT_PARAMETERS d3dpp;//描画情報構造体
D3DDISPLAYMODE d3ddisplay;
MYBOOL FLAG;
・
・
・
}
というCLASSや構造体を組んだときに
HWND hWndやLPDIRECT3DDEVICE9 pDeviceが
unused CXX0030: エラーです: 式を評価できません
という状態になり
pDevice->SetRenderStateの時に
Main.exe の 0x00401100 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。
というハンドルエラーが起きます。
これはどう解決すればよいのでしょうか?
> pDevice->SetRenderStateの時に
hWndが正しい方法で作成されていなかったり、pDevice がオブジェクトを
指してしないためでしょう。
このハンドル/ポインタはどうやって作成または取得しましたか?
P.S.
質問時には環境も書きましょう。
ブレークし、ウォッチが正常に表示されない場合、
中間ファイルを手動消す、ソリューションのクリーンなどして
中間ファイルを削除し、リビルドで0からビルドしなおすと
直ることがあります