ページ 11

何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:05
by ロクサス
構文エラー : 'void' は ';' によって先行されなければなりません。などのこの先行されなければならないというのは具体的にどういう意味なんでしょうか?
だれか答えお願いします。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:15
by softya(ソフト屋)
先行というか前にと解釈してください。
'void' が出てくる前の命令に ';'がありません。と解釈できると思います。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:16
by bitter_fox
ロクサス さんが書きました:構文エラー : 'void' は ';' によって先行されなければなりません。などのこの先行されなければならないというのは具体的にどういう意味なんでしょうか?
だれか答えお願いします。
若干エラーの日本語が分かりにくいですが、簡潔に言うと「voidよりも前に;がないとダメだよ」という意味です。

コード:

int n // ;(コメントアウトする)

void func()
{
}

int main()
{
	func();

	return 0;
}
この様なコードでこのエラーが発生します。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:34
by ロクサス
#include "../include/GV.h"

void load(){
img_board[10] = LoadGraph("../dat/img/board/10.png");
img_board[11] = LoadGraph("../dat/img/board/11.png");
img_board[12] = LoadGraph("../dat/img/board/12.png");
img_board[20] = LoadGraph("../dat/img/board/20.png");
LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] );
}
こういうコードなのですが何が間違っているのでしょうか?

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:37
by hidden
GV.hの最後がおかしい可能性が高いと思います

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:40
by ロクサス
上のコードででた問題はload.cpp(3) : error C2144: 構文エラー : 'void' は ';' によって先行されなければなりません。
でした、まったくわかりません。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:46
by bitter_fox
ロクサス さんが書きました:上のコードででた問題はload.cpp(3) : error C2144: 構文エラー : 'void' は ';' によって先行されなければなりません。
でした、まったくわかりません。
#includeはヘッダファイルの中身を丸ごとコピペするような命令です。
ですので、実際の問題はヘッダファイル内にあるのにインクルード元に問題があるようなエラーが出てしまいます。

GV.hファイルを張ってもらえますか?

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:52
by ロクサス
#include "../../../include/DxLib.h"
#include "define.h"

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern
#endif

#include "function.h" //関数宣言

//画像用変数宣言部
GLOBAL int img_ch[2][12]; //キャラクタ画像9枚分 X2(変身用)

//構造体変数宣言部
GLOBAL ch_t ch; //キャラクタデータ宣言
GLOBAL int func_state;
GLOBAL int img_board[40];
GLOBAL configpad_t configpad
これでいいでしょうか?

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:54
by bitter_fox
ロクサス さんが書きました:

コード:

#include "../../../include/DxLib.h"
#include "define.h"

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern 
#endif

#include "function.h"           //関数宣言

//画像用変数宣言部
GLOBAL int img_ch[2][12];       //キャラクタ画像9枚分 X2(変身用)

//構造体変数宣言部
GLOBAL ch_t ch;                 //キャラクタデータ宣言
GLOBAL int func_state;
GLOBAL int img_board[40];
GLOBAL configpad_t configpad
これでいいでしょうか?
hiddenさんが仰ったように一番末尾の
GLOBAL configpad_t configpad
の後に;が必要です。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:56
by hidden
ロクサス さんが書きました:#include "../../../include/DxLib.h"
#include "define.h"

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern
#endif

#include "function.h" //関数宣言

//画像用変数宣言部
GLOBAL int img_ch[2][12]; //キャラクタ画像9枚分 X2(変身用)

//構造体変数宣言部
GLOBAL ch_t ch; //キャラクタデータ宣言
GLOBAL int func_state;
GLOBAL int img_board[40];
GLOBAL configpad_t configpad
これでいいでしょうか?

最後の行にセミコロンがありませんね。
ちなみにC言語の知識は大丈夫ですか?
龍神録プログラミングの館を追っているようですが一応基本的なC言語の知識は必要ですので。

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 16:57
by ロクサス
ありがとうございます!!
できました!また何かあったらお願いします!!

Re: 何かが先行しなければなりません

Posted: 2011年6月05日(日) 17:17
by softya(ソフト屋)
ただ打ち込んでいるだけだと意味が無いので、一行一行の意味を理解しないと改造や拡張出来ないことになりますよ。
ましてやオリジナルが作れるようになりません。