Q&A
###前提・実現したいこと
C++でDXライブラリを使ってゲームを作っています。構造体に関するエラーをどうにかしたいです。
###発生している問題・エラーメッセージ
識別子"g_imghandles"が定義されていません。 'g_imghandles':定義されていない識別子です。 '.title'の左側はクラス、構造体、共用体でなければいけません。 'DxLib::DrawGraph':の関数に3個の引数を指定できません。
###該当のソースコード
C++
1/*main.hファイル*/ 2 3#ifndef __MAIN_H__ 4#define __MAIN_H__ 5#include <DxLib.h> 6#include "loading.h" 7/*中略*/ 8#endif 9 10/*main.cppファイル*/ 11 12#include <DxLib.h> 13#include "main.h" 14/*中略*/ 15int WINAPI WinMain(HINSTANCE h1, HINSTANCE hP, LPSTR lpc, int nC) { 16 ChangeWindowMode(TRUE); 17/*中略*/ 18 if (DxLib_Init() == -1) return -1; 19 if (LoadGameImage() == FALSE) return -1; 20/*中略*/ 21while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) { 22/*中略*/ 23 } 24 ScreenFlip(); 25 } 26 WaitKey(); 27 DxLib_End(); 28 return 0; 29} 30void DrawGameTitle() { 31/*エラー箇所:g_imghandlesに赤線*/ 32 DrawGraph(0, 0, g_imghandles.title, TRUE); 33} 34/*以下略*/ 35 36/*loading.hファイル*/ 37 38#ifndef __LOADING_H__ 39#define __LOADING_H__ 40#include <DxLib.h> 41struct ImageHandles { 42 int title; 43}; 44extern ImageHandles g_imghadles; 45BOOL LoadGameImage(); 46#endif 47 48/*loading.cppファイル*/ 49 50#include "loading.h" 51ImageHandles g_imghandles; 52BOOL LoadGameImage() { 53 g_imghandles.title = LoadGraph("load\\title.png"); 54 if (g_imghandles.title == -1) return FALSE; 55 return TRUE; 56}
###試したこと
loading.hファイルの内容をmain.hファイルに移し、loading.cppのインクルードファイルをmain.hにしてもだめでした。
###補足情報(言語/FW/ツール等のバージョンなど)
DXライブラリという主にゲーム作りに使われるライブラリをつかってます。
宣言
int LoadGraph( char *FileName ) ;
概略
画像ファイルのメモリへの読みこみ、及び動画ファイルのロード
宣言
int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ;
概略
メモリに読みこんだグラフィックの描画
開発環境はVisual Studio Community 2015です。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
退会済みユーザー
2017/08/06 08:39
2017/08/06 08:40
退会済みユーザー
2017/08/06 08:45