-------- Message original -------- Sujet: Re: variable type cast Date : Mon, 13 May 2013 09:11:11 +0200 De : Maurice Lombardi Maurice.Lombardi@ujf-grenoble.fr Pour : Jay Michael jmichael_ll@yahoo.com
Le 13/05/2013 01:12, Jay Michael a écrit :
gpc version 20070904, based on gcc-3.4.5 (mingw special) Given type INT16 = INTEGER attribute( size=16 ) ; type WORD16 = Cardinal attribute( size=16 ) ; var i16 : INT16 ; var w16 : WORD16 ; why does WORD16(I16) := W16 ; produce "error: invalid lvalue in assignment"?
First notice tht the other way around
I16 := INT16(W16) ;
works.
Typecasts are C style unportable "extensions" which garble the "write once, compile everywhere" philosophy behind the strong typing principles of Pascal. There is certainly nothing about it in the standards, and I do not know at which point this "lvalue error" crept in first into C, and then into Pascal.
Maurice