>>Run this example:
>>
>>#define INP
>>#define REF
>>#define OUT
>>
>>? INP REF OUT
>>? INP REF
>>? INP
>>
>>? INP OUT REF
>>? INP OUT
>>
>>
>>
>>Why preprocesor ignoring each second constant at compiling?
>
>Better question: why didn't it catch that your #define statements are bad? The expressions are missing. Yet it compiles without a hitch.
>
An empty is not a bad #define.
A string preprocessor has to allow to define empty strings.
>I tried inserting a wait statement between the #define lines, just to see whether it catches anything from the next line, but it doesn't, the result is still the same.