構造体でエラーが発生します

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
amehirune
記事: 181
登録日時: 11年前
住所: どっか
連絡を取る:

構造体でエラーが発生します

#1

投稿記事 by amehirune » 11年前

こんにちは。今回も行き詰ったので、ここで質問させていただきます。
今回お聞きしたいのは、structをつかった構造体に関する質問です。

龍神録プログラムを組み立てる最中、新規cppファイル・menu.cppで、
メニュー画面を作成して…とやる予定でしたが、作成途中でエラーが発生したので質問させてください。
デバックは、プロジェクトメンバー全員や、同じ部活の先輩たちと行いましたが、
エラーは直せませんでした。どうか、よろしくお願いします。

[hr]↓menu.cpp

コード:

#include "../include/GV.h"

#define MENU_MAX 10;

struct Menu{
	int		x;
	int		y;
	char	name[20];
};

void GAME_TITLE(void){

	static int select;

	struct Menu Select_Menu[]={
		{ 220, 300, "Game Start"},
		{ 250, 350, "Extra Start"},
		{ 250, 400, "Music Loom"},
		{ 250, 450, "Option"},
		{ 250, 500, "Exit"},
	};

	DrawGraph(0,0,img_menu[0],FALSE);
	DrawGraph(0,0,img_menu[10],TRUE);

	for(int i=0; i<MENU_MAX; i++ ){ // メニュー項目を描画
		DrawFormatString( Select_Menu[i].x, Select_Menu[i].y, GetColor(255,255,255), Select_Menu[i].name );
	}


}
↓エラーメッセージ

コード:

menu.cpp(26) : error C2146: 構文エラー : ')' が、識別子 'i' の前に必要です。
menu.cpp(26) : error C2059: 構文エラー : ';'
menu.cpp(26) : error C2059: 構文エラー : ')'
menu.cpp(26) : error C2143: 構文エラー : ';' が '{' の前にありません。
menu.cpp(27) : error C2065: 'i' : 定義されていない識別子です。
menu.cpp(27) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
menu.cpp(27) : error C2065: 'i' : 定義されていない識別子です。
menu.cpp(27) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
menu.cpp(27) : error C2065: 'i' : 定義されていない識別子です。
menu.cpp(27) : error C2228: '.name' の左側はクラス、構造体、共用体でなければなりません
[hr]

エラー表示の行数より前のアドレスは省略させていただいております。
原因と、よければ改正の仕方をお教えしていただければ幸いです。

Mana

Re: 構造体でエラーが発生します

#2

投稿記事 by Mana » 11年前

とりあえず3行目に問題があるのは分かった。

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前
住所: 大阪府
連絡を取る:

Re: 構造体でエラーが発生します

#3

投稿記事 by Hiragi(GKUTH) » 11年前

3行目です。
#defineで最後にセミコロン要りません。

コード:

#include <stdio.h>

#define TEST 10;

int main()
{
	printf("%d\n", TEST);
	return 0;
}
エラー 1 error C2143: 構文エラー : ')' が ';' の前にありません。 e:\users\hiragi\documents\visual studio 2013\projects\cui\cui\main.cpp 7 1 CUI
エラー 2 error C2059: 構文エラー : ')' e:\users\hiragi\documents\visual studio 2013\projects\cui\cui\main.cpp 7 1 CUI
3 IntelliSense: ')' が必要です e:\Users\Hiragi\Documents\Visual Studio 2013\Projects\CUI\CUI\Main.cpp 7 17 CUI
4 IntelliSense: 式が必要です e:\Users\Hiragi\Documents\Visual Studio 2013\Projects\CUI\CUI\Main.cpp 7 21 CUI
だいがくせい!

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 構造体でエラーが発生します

#4

投稿記事 by softya(ソフト屋) » 11年前

#define は定数定義ではなく置き換えマクロだと理解するとミスが減ると思います。
エディタの置換と同じ動作をしますので、「MENU_MAX」を「10;」に置換します。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
amehirune
記事: 181
登録日時: 11年前
住所: どっか
連絡を取る:

Re: 構造体でエラーが発生します

#5

投稿記事 by amehirune » 11年前

本当でした、凡ミスでしたね><;
おかげでバグを直すことができました。
エラー文章から、構造体のほうにミスが出ているのかと…
softyaさん、アドバイスありがとうございます。
皆さん、本当にありがとうございました。
今後とも質問させていただく機会があると思いますが、
そのたびはまたよろしくお願いいたします。
ほら、来いよ!! 誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!
※都合により、不定期でしか現れません。即返などはできませんのでご了承ください※

閉鎖

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