似乎无法在struct中使用int

时间:2011-04-14 23:38:57

标签: c++ struct int arguments scalar

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

内部的第一行是大喊大叫

2 个答案:

答案 0 :(得分:0)

这里缺少的是您调用getATK的代码。据推测,当您调用该函数时,您错误地传递了int参数而不是stVitals参数。

答案 1 :(得分:0)

通过doAttack();

使用stVitals调用getLvl