エラーが起こるので、なぜ起こるのか教えてください。
ソースは
#include "DxLib.h"
#define pi 3.14159265
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了
//色の設定
int WHITE;
WHITE=GetColor(255,255,255);
//その他変数
int i,j;
//構造体作成
//敵の弾1
typedef struct{
int x[100]; //X座標
int y[100]; //Y座標
int r[100]; //ラジアン値
int flag[100]; //フラグ
int count[100]; //ループカウント
} tekitama1;
//初期化
//敵の弾1
for(i=0;i<=100;i++){
tekitama1.x=0;
tekitama1.y=0;
tekitama1.r=2pi/(100/i);
tekitama1.flag=0;
}
WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
エラーメッセージは
Error E2108 ファイルの場所 32: Improper use of typedef 'tekitama1' in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Error E2108 ファイルの場所 33: Improper use of typedef 'tekitama1' in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Error E2108 ファイルの場所 34: Improper use of typedef 'tekitama1' in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Error E2379 ファイルの場所 34: Statement missing ; in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
Error E2108 ファイルの場所 35: Improper use of typedef 'tekitama1' in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
*** 5 errors in Compile ***
** error 1 ** deleting Debug\プロジェクト名.obj
よろしくお願いします。
コンパイル時のエラー
Re:コンパイル時のエラー
原因は構造体がうまくできていないことにあるようですが、解決策がわかりません。
//初期化
//敵の弾1
for(i=0;i<=100;i++){
tekitama1.x=0;
tekitama1.y=0;
tekitama1.r=2pi/(100/i);
tekitama1.flag=0;
}
を削除してコンパイルすると成功します。
構造体で、
//構造体作成
//敵の弾1
typedef struct{
int x[100]; //X座標
int y[100]; //Y座標
int r[100]; //ラジアン値
int flag[100]; //フラグ
int count[100]; //ループカウント
} tekitama1;
にしたら、この構造体の中のx[1]をたとえば指すとすれば
tekitama1.x[1]でいいと思ったのですが、うまくいきません。
for文のどこがエラーの原因でしょうか?
//初期化
//敵の弾1
for(i=0;i<=100;i++){
tekitama1.x=0;
tekitama1.y=0;
tekitama1.r=2pi/(100/i);
tekitama1.flag=0;
}
を削除してコンパイルすると成功します。
構造体で、
//構造体作成
//敵の弾1
typedef struct{
int x[100]; //X座標
int y[100]; //Y座標
int r[100]; //ラジアン値
int flag[100]; //フラグ
int count[100]; //ループカウント
} tekitama1;
にしたら、この構造体の中のx[1]をたとえば指すとすれば
tekitama1.x[1]でいいと思ったのですが、うまくいきません。
for文のどこがエラーの原因でしょうか?
Re:コンパイル時のエラー
//敵の弾1
typedef struct{
int x[100]; //X座標
int y[100]; //Y座標
int r[100]; //ラジアン値
int flag[100]; //フラグ
int count[100]; //ループカウント
} tekitama1;
typedefの作用によりこれでは変数が宣言されていません
この場合は単純にtypedefを消せばうまくいくはずです
構造体の定義、変数の確保について再度確認してみてください
typedef struct{
int x[100]; //X座標
int y[100]; //Y座標
int r[100]; //ラジアン値
int flag[100]; //フラグ
int count[100]; //ループカウント
} tekitama1;
typedefの作用によりこれでは変数が宣言されていません
この場合は単純にtypedefを消せばうまくいくはずです
構造体の定義、変数の確保について再度確認してみてください
Re:コンパイル時のエラー
ありがとうございました。
使い方を勘違いしていたようです。
http://9cguide.appspot.com/16-01.htmlを参考に勉強しなおしました。
これからもお世話になると思いますが、どうぞよろしくお願いします。
使い方を勘違いしていたようです。
http://9cguide.appspot.com/16-01.htmlを参考に勉強しなおしました。
これからもお世話になると思いますが、どうぞよろしくお願いします。
Re:コンパイル時のエラー
ありがとうございました。
使い方を勘違いしていたようです。
http://9cguide.appspot.com/16-01.htmlを参考に勉強しなおしました。
これからもお世話になると思いますが、どうぞよろしくお願いします。
使い方を勘違いしていたようです。
http://9cguide.appspot.com/16-01.htmlを参考に勉強しなおしました。
これからもお世話になると思いますが、どうぞよろしくお願いします。