On 04/03/13 8:23, Juha Manninen wrote:
On Mon, Mar 4, 2013 at 9:21 PM, José Mejuto <joshy...@gmail.com> wrote:
What's the expected output of this code ?

function TheA(): string;
begin
   Result:=Result+'A';
end;

writeln(TheA());

I thought that when the result type is an automated one its value gets
initialized... Maybe I'm wrong...

Yes you are wrong. It is very illogical because a local string
variable is initialized to be empty but the return value is not.
Delphi has the same problem.

I once made even a report about it:
   http://bugs.freepascal.org/view.php?id=20907

That report says the issue was assigned to Jonas and fixed in revision 20427 (ver 2.6.1). I find the current release (2.6.2) initialises a string function result to EmptyStr as you would hope.


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to