如何解决似乎无法使用struct中的int
|struct stVitals // Entity vitals
{
int str;
int xp;
int batk;
};
int doAttack(stVitals Aggressor,stVitals Defender) // Calculate attack results
{
doHit(getATK(Aggressor),getDEF(Defender),getDDG(Defender),getLVL(Aggressor),getLVL(Defender));
}
int doHit([...] // Calculate damage
int getATK(stVitals sourcemob) // Calculate attack value
{
int output = ((sourcemob.str * getLVL(sourcemob.xp)) * 0.1) + sourcemob.batk;
return output;
}
int getLVL(int xp) // Return level from XP
{
return (xp * 0.001);
}
给出以下错误:
ERROR: Conversion from \'int\' to non-scalar type \'stVitals\' requested
我以这种方式在程序周围的各种stVital实例中使用int都没有问题……我在想什么呢?
编辑:围绕getATK的第一行大声疾呼
解决方法
这里缺少的是您称为call2ѭ的代码。大概是,您在调用该函数时错误地传递了
int
参数而不是stVitals
参数。
,doAttack()使用stVitals调用getLvl;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。