Compiler Warning (level 1) C4004

incorrect construction after 'defined'

The defined operator was incorrectly terminated, causing a warning or error to appear when the remainder of the line following defined was compiled.

The following example generates this warning and a fatal error:

#if defined( ID1 ) || ( ID2 )

The compiler assumed that the identifier ID1 was the only operand for the defined operator. The rest of the line could not be parsed.

The following avoids this problem:

#if defined( ID1 ) || defined( ID2 )