構造体でエラーが

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

構造体でエラーが

#1

投稿記事 by ひよこ » 16年前

構造体でエラーがでます。下のソースなんですけどなぜか
error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
とでて
typedef struct{
int x,y,counter;
}logo
logo color;
color.x=0;
color.y=0;
color.counter=0;
をなくすとエラーが無くなり実行できるのですがどうしてでしょうか?
#include "DxLib.h"
#include "GlobalVariable.h"
int Key[256];
 
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[/url]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key==1) GetHitKeyStateAll_InputKey++;
        else                            GetHitKeyStateAll_InputKey=0;
    }
    return 0;
}

 
typedef struct{
    int x;
    int y;          //座標
    int WheelRotVol;//ホイールの回転量
    unsigned int Button[8];  //ボタンの押した状態
}Mouse_t;
Mouse_t Mouse;
 
int GetHitMouseStateAll_2(Mouse_t *Nezumi){
    if(GetMousePoint( &Nezumi->x, &Nezumi->y ) == -1){ //マウスの位置取得
        return -1;
    }
    int MouseInput=GetMouseInput();    //マウスの押した状態取得
    for(int i=0; i<4; i++){            //マウスのキーは最大4個まで確認出来る
        if( (MouseInput & 1<<i ) != 0 ) Nezumi->Button++;   //押されていたらカウントアップ
        else                            Nezumi->Button = 0; //押されてなかったら0
    }
    Nezumi->WheelRotVol = GetMouseWheelRotVol() ;    //ホイール回転量取得
    return 0;
} 
	extern void img_sound_load();

typedef struct{
        int x,y,counter;
	}logo
	
	
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
	
	// 透過色を変更 白を透過
	SetTransColor( 255 , 255 ,255  );
	
	int White=GetColor(255,255,255);
	
	logo color;

	color.x=0;
	color.y=0;
	color.counter=0;

	
		
	img_sound_load();

    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理          ↑画面をクリア           ↑入力状態を保存       ↑ESCが押されていない
		GetHitMouseStateAll_2(&Mouse);  //マウスの入力状態取得
 
        //ココ!! 
		

  DrawFormatString(0,0,White,"座標[%d,%d],回転量:%d,",Mouse.x,Mouse.y,Mouse.WheelRotVol);
 
        for(int i=0; i<4; i++){
            DrawFormatString(0, 20+20*i, White, "ボタン%d:%u", i, Mouse.Button);
		}
      
	DrawGraph(191,150,img_logo,TRUE);
	
        ScreenFlip();
    }
 
    DxLib_End();
    return 0;
}

バグ

Re:構造体でエラーが

#2

投稿記事 by バグ » 16年前

構造体宣言の最後にセミコロンがありませんよ(^_^;)

ひよこ

Re:構造体でエラーが

#3

投稿記事 by ひよこ » 16年前

ありゃりゃそんなところにまちがいがあった。
実行できるようになりました。
バグさん、ありがとうございます。

閉鎖

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