Кажется, не в состоянии работать с int в структуре - PullRequest
1 голос
/ 15 апреля 2011
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 по всей моей программе без проблем ... что здесь происходит, что мне не хватает?

edit: кричит о первой строке внутри getATK

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

getLvl вызывается со stVitals функцией doAttack ();

0 голосов
/ 15 апреля 2011

Чего здесь не хватает, так это кода, по которому вы звоните getATK.Предположительно, вы неправильно передаете аргумент int вместо аргумента stVitals при вызове этой функции.

...