龍神録4章をマネしてみたらエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
PEACH-CELL

龍神録4章をマネしてみたらエラー

#1

投稿記事 by PEACH-CELL » 13年前

龍神録4章を真似してみたらエラーしました。
自分で作った画像をソースファイルの中の「dotto」という名前のファイルに入れました。(png形式でデスクトップからコピペした)
load.ccpを
#include "DxLib.h"

extern int img_ch[1][24];

void load(){
LoadDivGraph( "dotto/画像の名前.png" , 24 , 8 , 3 , 48 , 64 , img_ch[0] ) ;
}
としまして、graph.ccpを

#include "DxLib.h"

extern ch_t ch;
extern int img_ch[1][24];

void graph_ch(){
DrawRotaGraphF(ch.x,ch.y,1.0f,0.0f,img_ch[0][ch.img],TRUE);
}

void graph_main(){
graph_ch();
}

としまして、main.ccpを

#define GLOBAL_INSTANCE
#include "DxLib.h"

//現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);

//データのロード
extern void load();

//描画メイン
extern void graph_main();

int img_ch[1][24]; //キャラクタ画像24枚分
ch_t ch; //キャラクタデータ

//ループで必ず行う3大処理
int ProcessLoop(){
if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
GetHitKeyStateAll_2();//現在のキー入力処理を行う
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
ChangeWindowMode(TRUE);//ウィンドウモード
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

load();//データロード

while(ProcessLoop()==0){//メインループ

graph_main();//描画メイン

if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
}

DxLib_End(); // DXライブラリ終了処理
return 0;
}

としてデバッグすると
main.cpp
c:\users\owner\documents\visual studio 2008\projects\wth_06\main.cpp(16) : error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
c:\users\owner\documents\visual studio 2008\projects\wth_06\main.cpp(16) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
c:\users\owner\documents\visual studio 2008\projects\wth_06\main.cpp(16) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
graph.cpp
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(3) : error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(3) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(3) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(7) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
型は 'int' です。
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(7) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
型は 'int' です。
c:\users\owner\documents\visual studio 2008\projects\wth_06\graph.cpp(7) : error C2228: '.img' の左側はクラス、構造体、共用体でなければなりません
型は 'int' です。
コードを生成中...
ビルドログは "file://c:\Users\owner\Documents\Visual Studio 2008\Projects\wth_06\Debug\BuildLog.htm" に保存されました。
wth_06 - エラー 9、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

というエラーが出てしまいます。何が原因なのでしょうか?何方か翻訳して下さい。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 龍神録4章をマネしてみたらエラー

#2

投稿記事 by みけCAT » 13年前

ch_tが定義されていないからエラーが出ているようです。
DxLib.hはDXライブラリ標準のものですか?
それとも書き換えましたか?
それとも一からの自作ですか?

とりあえず、コードはcodeタグで囲みましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ISLe
記事: 2650
登録日時: 14年前
連絡を取る:

Re: 龍神録4章をマネしてみたらエラー

#3

投稿記事 by ISLe » 13年前

龍神録を真似するのなら、すべてのソースファイルでGV.hをインクルードするようにしたほうが良いのではないでしょうか。
ch_t構造体はstruct.hで宣言されていて、GV.hでもインクルードされていたと記憶してます。

でもそうするといまのままだとmain.cppで多重定義エラーが発生しますけど。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Re: 龍神録4章をマネしてみたらエラー

#4

投稿記事 by Dixq (管理人) » 13年前

まずエラーが出ている型の定義を確認して下さい。
そしてそれがincludeされた場所から見えるか、includeされているか確認して下さい。

それでも分からなければ配布しているプロジェクトと見比べてみて下さい。

PEACH-CELL

Re: 龍神録4章をマネしてみたらエラー

#5

投稿記事 by PEACH-CELL » 13年前

一からの自作です。新しいプロジェクトです。

>とりあえず、コードはcodeタグで囲みましょう。
わかりました。以後、気をつけます。

>龍神録を真似するのなら、すべてのソースファイルでGV.hをインクルードするようにしたほうが良いのではないでしょうか。
ch_t構造体はstruct.hで宣言されていて、GV.hでもインクルードされていたと記憶してます。

僕ははじめ、龍神録のプロジェクトを見て全てのソースファイルにGV.hをインクルードするようにしたらincludeファイルを開けませんというエラーが起こり、それをDxLib.hをインクルードするようにしたらエラーが起こらなくなったので以降、DxLib.hをインクルードするようにしているんです。

>まずエラーが出ている型の定義を確認して下さい。
そしてそれがincludeされた場所から見えるか、includeされているか確認して下さい。

includeされた場所から見えるとはどういうことでしょうか?

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 龍神録4章をマネしてみたらエラー

#6

投稿記事 by みけCAT » 13年前

PEACH-CELL さんが書きました:僕ははじめ、龍神録のプロジェクトを見て全てのソースファイルにGV.hをインクルードするようにしたらincludeファイルを開けませんというエラーが起こり、それをDxLib.hをインクルードするようにしたらエラーが起こらなくなったので以降、DxLib.hをインクルードするようにしているんです。
ちゃんとGV.hは作りましたか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

PEACH-CELL

Re: 龍神録4章をマネしてみたらエラー

#7

投稿記事 by PEACH-CELL » 13年前

みけCAT さんが書きました:ちゃんとGV.hは作りましたか?
…はい。
ヘッダーファイルにGV.hを作りました。

PEACH-CELL

Re: 龍神録4章をマネしてみたらエラー

#8

投稿記事 by PEACH-CELL » 13年前

みなさん、申し訳ありません。僕がものすごい勘違いしているのかもしれません…
なので勝手ながら一旦解決とさせていただきます… 申し訳ありません…
一回脳内を整理して、それでもわからなかったらまた質問させていただきます。
本当に申し訳ありませんorz

閉鎖

“C言語何でも質問掲示板” へ戻る