I think this is a current implementation problem. In this case, just `override void foo()` in class D should override the method in C. And `void foo()const` should be a new overlodad of foo.
Kenji Hara 2012/2/17 Timon Gehr <[email protected]>: > On 02/17/2012 02:33 PM, Timon Gehr wrote: >> >> >> Introducing a new overload against const in a subclass is illegal: >> >> class C{ >> void foo(){} >> } >> class D : C{ >> override void foo(){} >> override void foo()const{} >> } >> >> Error: D.foo multiple overrides of same function > > > Oops... > > I meant > > > class C{ > void foo(){} > } > > class D:C{ > override void foo(){} > void foo()const{} > } > > The error message is the same though.
