龍神録4章のgraph.cppについて
-
フォッシル
龍神録4章のgraph.cppについて
初めましてフォッシルと申します。
C言語はまだまだ勉強中の初心者です。
そして質問なんですがgraph.cppでエラーが続いております。
エラー内容は、
1> graph.cpp
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.img' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
とこのように表示されます。
環境はVista、VC++ 2010 Expressです。
またこうゆう質問も初めてなので何を書きこんでいいのかわからないので多少大目に見て下さい。
C言語はまだまだ勉強中の初心者です。
そして質問なんですがgraph.cppでエラーが続いております。
エラー内容は、
1> graph.cpp
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.img' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
とこのように表示されます。
環境はVista、VC++ 2010 Expressです。
またこうゆう質問も初めてなので何を書きこんでいいのかわからないので多少大目に見て下さい。
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
ソースコードがないとどこがおかしいのか確認できないので、ソースコードも載せていただけますでしょうか?フォッシル さんが書きました: エラー内容は、
1> graph.cpp
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.img' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
とこのように表示されます。
(載せる際にはcodeタグで囲っていただきますようにお願いします。)
ちなみに、エラーの雰囲気としてはタイポが原因のように思います。
-
フォッシル
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
どうやら、ch_tが正常に定義されていないように思います。
GV.hの中身は また、define.hの中身は そして、struct.hの中身は
//キャラクターに関する構造体
typedef struct{
int flag; //フラグ
int cnt; //カウンタ
int power; //パワー
int point; //ポイント
int score; //スコア
int num; //残機数
int mutekicnt; //無敵状態とカウント
int shot_mode; //ショットモード
int money; //お金
int img;
int slow; //スローかどうか
double x,y; //座標
}ch_t;
プレビュー機能を使用すると投稿した際にどういった風に表示されるのかを確認できますので、次回からご利用ください。フォッシル さんが書きました: codeタグで囲めてなかったらすみません。
-
フォッシル
Re: 龍神録4章のgraph.cppについて
すみません。遅れました。
確認してみます。
やってみましたができました。ありがとうございます。
内容がそれてしまいました。肝心のgraph.cppの方は相変わらず ch_t が定義されないままです。
言われた通り確認しましたが違いはありませんでした。
あと返信が遅れる場合がありますのでどうかご勘弁を。
わかりました。bitter_fox さんが書きました:プレビュー機能を使用すると投稿した際にどういった風に表示されるのかを確認できますので、次回からご利用ください。
確認してみます。
#include "../include/GV.h"
extern ch_t ch;
extern int img_ch[2][12];
void graph_ch(){
DrawRotaGraphF( ch.x,ch.y,1.0f,0.0f,img_ch[0][ch.img],TRUE);
}
void graph_main(){
graph_ch();
}
内容がそれてしまいました。肝心のgraph.cppの方は相変わらず ch_t が定義されないままです。
言われた通り確認しましたが違いはありませんでした。
あと返信が遅れる場合がありますのでどうかご勘弁を。
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
ですか・・・フォッシル さんが書きました: 内容がそれてしまいました。肝心のgraph.cppの方は相変わらず ch_t が定義されないままです。
言われた通り確認しましたが違いはありませんでした。
一応確認のために三つのファイルの中身を載せてもらえますでしょうか?
また、main関数内でエラーは発生していませんか?
-
フォッシル
Re: 龍神録4章のgraph.cppについて
GV.hの中身は
define.hの中身は
struct.hの中身は
そしてmain関数の中身
//キャラクターに関する構造体
typedef struct{
int flag; //フラグ
int cnt; //カウンタ
int power; //パワー
int point; //ポイント
int score; //スコア
int num; //残機数
int mutekicnt; //無敵状態とカウント
int shot_mode; //ショットモード
int money; //お金
int img;
int slow; //スローかどうか
double x,y; //座標
}ch_t;
#define GLOBAL_INSTANCE
#include "../include/GV.h"
//現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);
//ループで必ず行う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;//初期化と裏画面化
while(ProcessLoop()==0){//メインループ
if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
}
DxLib_End();//DXライブラリ終了処理
return 0;
}
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
main.cppで変数ch等が定義されてないですね・・・フォッシル さんが書きました: そしてmain関数の中身#define GLOBAL_INSTANCE #include "../include/GV.h" //現在のキー入力処理を行う extern int GetHitKeyStateAll_2(); //受け取ったキー番号の現在の入力状態を返す extern int CheckStateKey(unsigned char Handle); //ループで必ず行う3大処理 int ProcessLoop(){ // 略 } int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ // 略 }
おそらくそれが原因でしょう。
龍神録の館(四章)でmain.cppは次のようになっています。
#define GLOBAL_INSTANCE
#include "../include/GV.h"
//現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);
// ここから下が抜けています。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//データのロード
extern void load();
//描画メイン
extern void graph_main();
int img_ch[2][12]; //キャラクタ画像9枚分 X2(変身用)
ch_t ch; //キャラクタデータ宣言
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ここまで
//ループで必ず行う3大処理
int ProcessLoop(){
// 略
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
// 略
}
-
フォッシル
Re: 龍神録4章のgraph.cppについて
それでも 識別子”ch_t” が定義されないままになっています。
一応エラー内容も載せておきます。
一応エラー内容も載せておきます。
main.cpp
1>c:\users\takei\documents\visual studio 2010\projects\main.cpp(19): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\projects\main.cpp(19): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\main.cpp(19): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1> graph.cpp
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(3): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\takei\documents\visual studio 2010\projects\graph.cpp(7): error C2228: '.img' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
うーん、そうですか・・・フォッシル さんが書きました:それでも 識別子”ch_t” が定義されないままになっています。
現時点でこれ以上見当がつかないですね・・・
(もし可能であれば、お手数をお掛けしますが第四章のプロジェクト一式を圧縮して上げていただけますか?)
(ファイルの添付はスパム等の関係からかゲストには許可されてないようなので、
http://www.axfc.net/uploader/
などをご利用ください。)
あと、この問題で龍神録の開発がストップしてしまうのは有益ではないので、第一章でダウンロードしたプロジェクトの第四章の所から進めるというのも一つの手だと思います。
-
フォッシル
Re: 龍神録4章のgraph.cppについて
試しにこのサイトに入ったのですが、よくわからないのでできれば解説をお願いします。bitter_fox さんが書きました:現時点でこれ以上見当がつかないですね・・・
(もし可能であれば、お手数をお掛けしますが第四章のプロジェクト一式を圧縮して上げていただけますか?)
(ファイルの添付はスパム等の関係からかゲストには許可されてないようなので、
http://www.axfc.net/uploader/
などをご利用ください。)
あと気づいた事なんですが、第4章load.cppは
#include "../include/GV.h"
extern int img_ch[2][12];
void load(){
LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ;
}
#include "../include/GV.h"
extern int img_ch[2][12];
int image[16];
void load(){
LoadDivGraph ( "char.png" , 16 , 4 , 4 , 32 , 32 , image );
}
第4章load.cppだと というエラーが出てしまうので変えたのですが、何か関係しますでしょうか?
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
こちらに簡単な使い方が乗ってますので参考にしてください。フォッシル さんが書きました: 試しにこのサイトに入ったのですが、よくわからないのでできれば解説をお願いします。
http://www.axfc.net/uploader/howto.html
圧縮したフォルダが2MB以下の場合は、
http://www1.axfc.net/uploader/Sc/file_post.pl
ここをご利用ください。
まず、削除パスワードとDLキーワードを設定して、下の「以上の内容でアップロードする」をクリックして次に進みます。
次に「参照」をクリックしてアップロードするファイルを選択して「以上の内容でアップロードする」をクリックしてアップロードを完了してください。
アップロードが完了したら「ファイルIDのみ」と言うリンクを開くとダウンロードページに飛びますので、アドレスバーに表示されているURLを教えてください。(DLキーワードを設定したのであればそれも教えてください)
外部シンボルが未解決と言うのは変数などが定義されていないといったことを示しています。
この場合は、img_chがmain.cppで定義されていなかったために発生しました。
main.cppを修正したのであればもうそのエラーは発生しないと思いますので、第四章の物に戻しておいてください。
-
フォッシル
Re: 龍神録4章のgraph.cppについて
できました。ありがとうございます。bitter_fox さんが書きました:こちらに簡単な使い方が乗ってますので参考にしてください。
http://www.axfc.net/uploader/howto.html
圧縮したフォルダが2MB以下の場合は、
http://www1.axfc.net/uploader/Sc/file_post.pl
ここをご利用ください。
まず、削除パスワードとDLキーワードを設定して、下の「以上の内容でアップロードする」をクリックして次に進みます。
次に「参照」をクリックしてアップロードするファイルを選択して「以上の内容でアップロードする」をクリックしてアップロードを完了してください。
アップロードが完了したら「ファイルIDのみ」と言うリンクを開くとダウンロードページに飛びますので、アドレスバーに表示されているURLを教えてください。(DLキーワードを設定したのであればそれも教えてください)
http://www1.axfc.net/uploader/Si/so/99222&key=fossil
- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
早速見させてもらいましたが、どうやらソースの問題と言うよりファイル構成の問題のようです。追記しました。
現在のファイル構成は
このようになってますが、プログラムはRyuJin直下に置かれていてそこから
としているのでヘッダを正常に読み込めてないと思います。
龍神録ではmyDat\includeにヘッダファイルを
myDat\sourceにソースファイルを入れるような構造になっているのでそれに従った方がスムーズに作れると思います。
http://dixq.net/rp/1.html
あと、main.cppですが ここは としておきましょう。
[hr][追記]
あれから細かく見させてもらいました、
int型のx, yとdouble型のx, yが重複しています。
ここを修正して、ファイル構成を正しくすると正常にコンパイルすることができました。
現在のファイル構成は
フォルダー パスの一覧: ボリューム Windows 7
ボリューム シリアル番号は 2282-D87E です
RyuJin
│ define.h
│ function.h
│ graph.cpp
│ GV.h
│ key.cpp
│ load.cpp
│ Log.txt
│ main.cpp
│ struct.h
│
├─mydat
│ ├─include
│ │ 0.png
│ │ define.h
│ │ func.h
│ │ function.h
│ │ GV.h
│ │ struct.h
│ │
│ ├─PSD
│ └─source
│ boss_shot.cpp
│ boss_shotH.cpp
│ char.cpp
│ cshot.cpp
│ enemy.cpp
│ enemy_act_pattern.cpp
│ fps.cpp
│ graph.cpp
│ graph_back.cpp
│ ini.cpp
│ key.cpp
│ load.cpp
│ main.cpp
│ music.cpp
│ out.cpp
│ shot.cpp
│ shotH.cpp
│
龍神録ではmyDat\includeにヘッダファイルを
myDat\sourceにソースファイルを入れるような構造になっているのでそれに従った方がスムーズに作れると思います。
http://dixq.net/rp/1.html
あと、main.cppですが ここは としておきましょう。
[hr][追記]
あれから細かく見させてもらいました、
typedef struct{
int flag; //フラグ
int cnt; //カウンタ
int power; //パワー
int point; //ポイント
int score; //スコア
int num; //残機数
int mutekicnt; //無敵状態とカウント
int shot_mode; //ショットモード
int money; //お金
int img; //画像
int slow; //スローかどうか
int x;
int y;
double x,y; //座標
}ch_t;
ここを修正して、ファイル構成を正しくすると正常にコンパイルすることができました。
-
フォッシル
Re: 龍神録4章のgraph.cppについて
bitter_fox さんが書きました:龍神録ではmyDat\includeにヘッダファイルを
myDat\sourceにソースファイルを入れるような構造になっているのでそれに従った方がスムーズに作れると思います。
わかりました。そっちに入れてみたいと思います。
あと色々やっていたらエラーが増えてしまったのですが、何か関係してますでしょうか?
1> main.cpp
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(16): error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(16): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(16): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(20): error C3861: 'ProcessMessage': 識別子が見つかりませんでした
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(21): error C3861: 'ClearDrawScreen': 識別子が見つかりませんでした
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2146: 構文エラー : ';' が、識別子 'WinMain' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2065: 'HINSTANCE' : 定義されていない識別子です。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2146: 構文エラー : ')' が、識別子 'hInstance' の前に必要です。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2059: 構文エラー : ')'
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2143: 構文エラー : ';' が '{' の前にありません。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(26): error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
1> load.cpp
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\load.cpp(6): error C3861: 'LoadDivGraph': 識別子が見つかりませんでした
1> key.cpp
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\key.cpp(7): error C3861: 'GetHitKeyStateAll': 識別子が見つかりませんでした
1> graph.cpp
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\graph.cpp(7): error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\graph.cpp(10): error C2065: 'TRUE' : 定義されていない識別子です。
1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\graph.cpp(10): error C3861: 'DrawRotaGraphF': 識別子が見つかりませんでした
1> コードを生成中...- bitter_fox
- 記事: 607
- 登録日時: 15年前
- 住所: 大阪府
Re: 龍神録4章のgraph.cppについて
これらは、DxLib.hをインクルード出来てないためです。(またその他のエラーもそのあおりを受けたためです。)フォッシル さんが書きました:
あと色々やっていたらエラーが増えてしまったのですが、何か関係してますでしょうか?1> main.cpp 1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(20): error C3861: 'ProcessMessage': 識別子が見つかりませんでした 1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\main.cpp(21): error C3861: 'ClearDrawScreen': 識別子が見つかりませんでした 1> load.cpp 1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\load.cpp(6): error C3861: 'LoadDivGraph': 識別子が見つかりませんでした 1> key.cpp 1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\key.cpp(7): error C3861: 'GetHitKeyStateAll': 識別子が見つかりませんでした 1> graph.cpp 1>c:\users\takei\documents\visual studio 2010\project\ryujin.sln\1章\mydat\source\graph.cpp(10): error C3861: 'DrawRotaGraphF': 識別子が見つかりませんでした 1> コードを生成中...
GV.hを次のようにしてください。(変更点は一つ目のincludeです。) あと、RyuJinフォルダ内にあるdatフォルダですが、これも龍神録の館に従って次のような構成にした方が良いと思います。 それから、正常に実行するにはLoad.cpp内のload関数の修正が必要です。(画像ファイルの指定が間違っています。)
void load(){
LoadDivGraph( "..RyuJin.sln/dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ;
}
-
フォッシル
Re: 龍神録4章のgraph.cppについて
解決しました。
にしてから色々といじっていたらできました。
bitter_foxさん、ここまで協力してくださりありがとうごさいました。
bitter_fox さんが書きました:コード[Text]: 全て選択
123├─dat
├─include
└─RyuJin.sln
にしてから色々といじっていたらできました。
bitter_foxさん、ここまで協力してくださりありがとうごさいました。