[CODE][WIN95][MSVC5] A compiling error concerning L-values ...

From: Yohay Etsion (yohay_e@netvision.net.il)
Date: 12/01/98

Hello everybody ,

I've just got a code of a certain MUD (CircleMUD based) , and I've been
trying to compile it under my WIN95 MSVC5 system.

It gives me this strange compiler error :

error C2106: "-="  : left operand must be l-value

in this line  : GET_MANA(ch) -= 200;

these kind of l-value errors accur during the whole compilation not only

concerning the GET_MANA() macro.

I checked out the GET_MANA macro and found this :

#define GET_MANA(ch)   (!IS_NPC(ch) ?
                            ((ch)->player_specials->linking[0] ? \
                             (ch)->player_specials->manalinked : \
                             (ch)->points.mana): (ch)->points.mana)

you see , all the l-value errors in the compilation is due to the
? : statements , but the MSVC tells me that a ? : statement can
be an l-vlaue.

So , I don't know what is the problem : is the ? : statement incorrect ,

is anything missing in the definition of the macro ? WHAT ??????

I hope you guys could help me with it ...

Yohay Etsion

     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |

This archive was generated by hypermail 2b30 : 12/15/00 PST