On 20/08/2010 20:59, Ersin Er wrote:
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.

The return type of writeln is void.
You can't && with void.

You are asking

'is X true AND <something which can't return true or false> is true'

which is clearly nonesense.

--
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk

Reply via email to