[fpc-pascal] Interesting namespace question

vsnijders at quicknet.nl vsnijders at quicknet.nl
Thu Jun 21 14:56:09 CEST 2007



----- Original Message -----
From: ik <idokan at gmail.com>
Date: Thursday, June 21, 2007 2:53 pm
Subject: [fpc-pascal] Interesting namespace question

> Hi,
> I saw an interesting bug on C++, and I was wondering how to solve this
> type of bug in Pascal:
> 
> {$MODE OBJFPC}
> program namespace_test;
> 
> function test : boolean;
> begin
>  result := true;
> end;
> 
> type
>  TTest = class
>     function test : boolean;
>  end;
> 
> function TTest.test : boolean;
> begin
>  result := test;
> end;
> 
> var
>  c_test : TTest;
> 
> begin
>  c_test := TTest.create;
>  try
>    writeln (c_test.test);
>  finally
>    c_test.free;
>  end;
> end.
> 
> OK the question is, the TTest.test, what is the test function that it
> will call, the one inside the class, or the one outside it (I belive
> that it will call itself once), and how can i call the function
> outside the class ?
> 

I think it will call itself, until it runs out of stack space (error 202).

If you want to call the test function, use namespace_test.test;

Vincent

P.S. To be sure, just compile the code ...



More information about the fpc-pascal mailing list