質問: マップ表示を関数化しようとしてるのですがエラーでうまく動きません。手直しお願いします
回答: #define _CRT_SECURE_NO_WARNINGS #include //#include //不要 //#include //不要 //#include //不要 //#include //不要 void func(int sy, int sx, int smap[17][20]); //★関数名と配列名が同じになっているので、片方変えます。 //どちらでもいい。今回は関数名をfuncにしています。 int main(void) { int map[17][20] = { {1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2}, {1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}, {2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,4,4,4}, {2,2,2,2,5,5,5,2,2,2,2,2,2,2,2,2,4,4,4,4}, {2,2,2,2,5,5,5,2,2,2,2,2,2,2,2,4,4,4,4,4}, {2,2,2,2,5,5,5,2,2,2,2,2,4,4,4,4,4,4,4,4}, {2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4}, {2,2,2,2,2,2,4,4,4,2,2,2,4,4,4,4,4,4,4,4}, {2,2,2,4,4,4,4,2,2,2,2,2,6,6,4,4,4,4,4,4}, {2,4,4,4,4,4,6,6,2,7,7,7,7,7,2,6,6,4,4,4}, {2,2,4,4,4,6,6,6,2,7,5,5,5,7,2,6,6,6,4,4}, {2,2,4,4,4,2,2,2,2,7,5,5,5,7,2,6,6,6,4,8}, {2,2,2,4,4,6,2,2,2,7,5,5,5,7,2,2,6,8,8,8}, {2,2,2,4,4,4,6,2,2,7,7,7,7,7,2,2,6,8,6,6}, {2,2,2,4,4,4,6,6,2,2,2,2,2,2,2,6,8,8,6,4}, {2,4,4,4,4,4,4,6,2,2,6,6,8,8,6,8,8,8,6,4}, {2,4,4,4,4,4,4,6,6,6,8,8,8,2,6,6,8,6,4,4} }; func(17,20,map);//★関数名を変更 //★引数は変数x,yではなく数値を用いる。 //もしくはint x=20,y=17;と宣言して変数に数値を入れて用いる。 return 0;//★int main()の戻り値が抜けている } void func(int sy,int sx,int smap[17][20]) {//★関数名を変更 //★引数で値を設定しているので、forの条件は数値ではなく変数にする //y<17⇒y