[C++-sig] Pyste: bug: overriding overloaded virtual functions.
Nicodemus
nicodemus at globalite.com.br
Sat Jul 5 00:54:12 CEST 2003
Hi Prabhu,
Prabhu Ramachandran wrote:
>Hi,
>
>One more bug. Consider an overloaded virtual function that is
>implemented in the base class and not overridden in the derived class.
>
>// --------- overload.hpp --------
>namespace test {
>class Base {
>public:
> virtual void f() {}
> virtual void f(const int i){}
>};
>
>class A : public Base {
>public:
> void f(){}
>};
>}
>// --------- overload.hpp --------
>
>Running Pyste on this produces this wrapper code:
>
>// ---------- wrapper code ----------
>struct test_A_Wrapper: test::A
>{
> [...]
> void f(const int p0) {
> call_method< void >(self, "f", p0);
> }
>
> void default_f(const int p0) {
> test::A::f(p0); // <<=========== ERROR.
> test::Base::f(p0); // <<=========== Should be this.
> }
> [...]
>// ---------- wrapper code ----------
>
>
>Attached is a patch (two lines) for the _current_ CVS code that fixes
>this.
>
>
I just applied your patch. I really appreciate your effort in finding
this problems, thanks a lot!
Regards,
Nicodemus.
More information about the Cplusplus-sig
mailing list