Re: invalid class

From: Thomas Arp (t_arp@mail1.stofanet.dk)
Date: 08/24/00


> I'm having a bit of trouble trying to get this file to compile.
> In class.c I've added several new classes and I get the following error
> when I make:
> class.c: In function `invalid class`:
> class.c:2043: parse error before `==`
> class.c:2043: parse error before `)`
> class.c:2053: warning: control reaches end of non-void function
>
>       (IS_OBJ_STAT(obj, ITEM_ANTI_CLERIC) && IS_CLERIC(ch)) ||
>  /* 2043 */     (IS_OBJ_STAT(obj, ITEM_ANTI_DRUID) && IS_DRUID(ch)) ||
>       (IS_OBJ_STAT(obj, ITEM_ANTI_WARRIOR) && IS_WARRIOR(ch)) ||

What is your definition of IS_DRUID(ch) - it's in utils.h ?

It should be something like this:

#define IS_DRUID(ch)  (!IS_NPC(ch) && (GET_CLASS(ch) == CLASS_DRUID))

I believe this error comes from a missing parenthesis in this define.
Remember, that the macros (in this case IS_OBJ_STAT and IS_DRUID) are inserted
into the line before it is parsed, thus inserting a == in line 2043.

Welcor
Cruelworld MUD
cruelworld.dune.net 9090


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



This archive was generated by hypermail 2b30 : 04/11/01 PDT