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
