该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
萌新一位,学到结构体在做作业,遇到了这个问题。求提示
出现这样的报错:[Error] cannot convert 'char (*)[20]' to 'char*' for argument '5' to 'void HeroShow(int, int, char*, char*, char*, char*)'
#include
struct Camp//定义阵营结构体
{
int id;//编号
char names[20];//阵营名称
};
struct Hero //定义英雌结构体
{
//英雄的属性
int id;//编号
char names[50];//英雄名称
int hp;//血量
int mp;//魔法值
char heroType[10];//类型
char skill[3][20];//技能
struct Camp camp;//阵营
};
void HeroShow(int, int, char[], char[], char[], char[]);//英雄信息展示函数
int main()
{
//英雄初始化
struct Hero hero_HWC = {
1,//id
"黑无常",//英雄名字
200,//初始血量
300,//初始魔法值
"魔法师",//英雄类型
{"无常索命","厉鬼勾魂","同归于尽"}, //技能名称
{1,"十八地狱"} //阵营属性
};
HeroShow(hero_HWC.hp,
hero_HWC.mp,
hero_HWC.heroType,
hero_HWC.names,
hero_HWC.skill,
hero_HWC.camp.names);
return 0;
}
void HeroShow(int hp,int mp,char heroType[],char names[], char skill[],char campName[])//英雄信息展示函数
{
int i;
printf("英雄名称:%s\n",names);
printf("类 型:%s\n",heroType);
printf(" H P 值 :%d\n",hp);
printf(" M P 值 :%d\n",mp);
printf("英雄技能:");
for(i = 0; i < 3; i++)
{
printf("%s",skill[i]);
};
printf("英雄阵营:%s\n",campName);
}