Compiling in MSVB C got it to compile but need help?

Posted by Wrath on Mon 02 Aug 2004 12:53 AM — 3 posts, 18,920 views.

USA #0
Can't figure this out I'm using smaug 1.4a win32 using MSVB C and can compile and build but don't like the all the warnings please help. I get these messages.

C:\smaug\dist\src\special.c(55) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(56) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(57) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(58) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(59) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(61) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(62) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(63) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(64) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(65) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(66) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(67) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(68) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(69) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(70) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(71) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\special.c(72) : warning C4550: expression evaluates to a function which is missing an argument list

Code:
if ( !str_cmp( name, "spec_breath_any" ) ) return spec_breath_any;
if ( !str_cmp( name, "spec_breath_acid" ) ) return spec_breath_acid;
if ( !str_cmp( name, "spec_breath_fire" ) ) return spec_breath_fire;
if ( !str_cmp( name, "spec_breath_frost" ) ) return spec_breath_frost;
if ( !str_cmp( name, "spec_breath_gas" ) ) return spec_breath_gas;
if ( !str_cmp( name, "spec_breath_lightning" ) ) return
spec_breath_lightning;
if ( !str_cmp( name, "spec_cast_adept" ) ) return spec_cast_adept;
if ( !str_cmp( name, "spec_cast_cleric" ) ) return spec_cast_cleric;
if ( !str_cmp( name, "spec_cast_mage" ) ) return spec_cast_mage;
if ( !str_cmp( name, "spec_cast_undead" ) ) return spec_cast_undead;
if ( !str_cmp( name, "spec_executioner" ) ) return spec_executioner;
if ( !str_cmp( name, "spec_fido" ) ) return spec_fido;
if ( !str_cmp( name, "spec_guard" ) ) return spec_guard;
if ( !str_cmp( name, "spec_janitor" ) ) return spec_janitor;
if ( !str_cmp( name, "spec_mayor" ) ) return spec_mayor;
if ( !str_cmp( name, "spec_poison" ) ) return spec_poison;
if ( !str_cmp( name, "spec_thief" ) ) return spec_thief;
return 0;
}

&
stat_obj.c
C:\smaug\dist\src\stat_obj.c(147) : warning C4067: unexpected tokens following preprocessor directive - expected a newline

code:
#undef TODUB(x)

&
tables.c
C:\smaug\dist\src\tables.c(66) : warning C4550: expression evaluates to a function which is missing an argument list
C:\smaug\dist\src\tables.c(67) : warning C4550: expression evaluates to a function which is missing an argument list
Same thing all the wat down to (741)

Code:
if ( !str_cmp( name, "spell_smaug" )) return spell_smaug;
if ( !str_cmp( name, "spell_acid_blast" )) return spell_acid_blast;
if ( !str_cmp( name, "spell_animate_dead" )) return spell_animate_dead;
if ( !str_cmp( name, "spell_astral_walk" )) return spell_astral_walk;
if ( !str_cmp( name, "spell_blindness" )) return spell_blindness;
if ( !str_cmp( name, "spell_burning_hands" )) return spell_burning_hands;

Total of 588 warnings.

Thanks for any advice.
Australia Forum Administrator #1
It helps to search the forum for questions like this. Searching for "4550", which is what you got hundreds of, would have shown up half a dozen posts. This one is pretty relevant:

http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=4433

I'm not sure about the "unexpected tokens following preprocessor directive" one. Sounds like you might have a bit of junk in the source file.

Amended on Mon 02 Aug 2004 06:30 AM by Nick Gammon
USA #2
Quote:

stat_obj.c
C:\smaug\dist\src\stat_obj.c(147) : warning C4067: unexpected tokens following preprocessor directive - expected a newline

code:
#undef TODUB(x)


This one is easy to solve. The line should simply read:

#undef TODUB