== Quote from Ersin Er (ersin...@gmail.com)'s article > Hi, > The following code compiles and outputs "1 = 1" as expected: > 1 == 1 && writeln("1 = 1"); > However, the following code fails to compile (although it should not): > 1 == 2 && writeln("1 = 2"); > The error is as follows: > Error: integral constant must be scalar type, not void > What I expect that the second code should also compile and output nothing when executed. > Am I missing something? > Thanks.
Because you are dealing with literals here, it's best to assume the compiler will try to evaluate and compile down the code you write. The first example you give will be optimized down to just writeln("1 = 1"); Whilst your second example is simply false; Regards