クラス関数を呼び出そうとしていますが、Visual Studio は上記のエラーをスローします。コンストラクターで別の関数を呼び出していて、そこで動作します。
言及する価値があるのは、GameLoop が静的であることです。これが原因かも?という不思議な感覚です。もしそうなら、どうすればそれを機能させることができますか?
GameApp::GameApp()
{
winApi.CreateBasicWindow("---===| Test |===---", 1024, 768, WS_OVERLAPPEDWINDOW);
bool err = d3d.BasicInit(winApi.GetWindowHandle(),
winApi.GetInstance(),
1024,
768,
60,
1,
true);
if(!err)
MessageBox(0, "Could not initialize DirectX 10.", "Error!", MB_OK | MB_ICONERROR);
winApi.RunMessageLoop(GameLoop);
}
void GameApp::GameLoop()
{
D3DXCOLOR color(1.0f, 0.0f, 0.0f, 1.0f);
d3d.Redraw(color); // Error here
}
- - 編集
エラーメッセージ
Error 1 error C2228: left of '.Redraw' must have class/struct/union