name resolution and static function
Derek Parnell
derek at nomail.afraid.org
Sun Jul 9 20:53:56 PDT 2006
On Sun, 09 Jul 2006 21:25:27 -0500, Carlos Santander wrote:
> I'm sure this also has to do with how name resolution works, but here it is anyway:
>
> //---------------------------------
> class A
> {
> void foo () {}
> //private
> static void foo (int i) {}
> }
>
> class B
> {
> void foo (int x)
> {
> A.foo (x);
> }
> }
> //---------------------------------
>
> I get:
> test.d:12: 'this' is required, but test.A is not a base class of B
>
> And if I uncomment the private attribute in A, I get:
> test.d:12: 'this' is required, but test.A is not a base class of B
> test.d:12: class test.B member foo is not accessible
>
> gdc rev 13 (DMD 0.162)
Seems to be a bug. If you place the 'static' one first it compiles fine.
class A
{
// private
static void foo (int i) {}
void foo () {}
}
--
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
10/07/2006 1:53:10 PM
More information about the Digitalmars-d-bugs
mailing list