前提・実現したいこと
教材を用いてC言語の勉強をしているのですが、その中に関数の中に関数を定義しているものがあります。
同じようなコードを書いているのですがコンパイルで警告が出てしまいます。
関数の中に関数を入れることは不可能なのでしょうか?
不可能なのだとしたらなぜお手本のコードでそれが行われているのでしょうか・・・
発生している問題・エラーメッセージ
implicit declaration of function 'doBattle' is invalid in C99
[-Wimplicit-function-declaration]
winCount = doBattle("スライム");
該当のソースコード
c言語
int goDungeon(void){
int winCount = 0;
winCount = doBattle("スライム");
return winCount;
}
int doBattle(char *Monster){
printf("%sが現れた!\n",Monster);
//敵はハリボテだからすぐ倒れます。
printf("%sを倒した!\n",Monster);
return 1;
}
int main(int argc,char** argv){
if(argc != 2){
printf("エラー。./a.outの後にプレイヤー名を指定してください。\n");
return 1;
}
printf("パズルゲーム\n");
int winCount = goDungeon ();
printf("倒したモンスターの数は%dです。",winCount);
}
回答1件
あなたの回答
tips
プレビュー