Problem with virtual const

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Am I misunderstanding something ? In the following code, I do not understand why there is a compile error on line 22. I have tried with gcc 3.1, 3.4, 4.0 and 4.1, and the result is the same, so there is little chance that it is a bug...

      1 class A
      2 {
      3   public:
      4     virtual ~A() {}
      5     virtual int f(int x)        const {return x;}
      6     virtual int f(int x, int y) const {return f(x+y);}
      7     virtual int g(int x)        const = 0;
      8     virtual int g(int x, int y) const {return g(x+y);}
      9 };
     10
     11 class B : public A
     12 {
     13   public:
     14     virtual ~B() {}
     15     virtual int g(int x) const {return x;}
     16 };
     17
     18 int main(int, char* [])
     19 {
     20   B b;
     21   b.f(4,5); //ok
     22   b.g(4,5); //error !
     23   static_cast<A*>(&b)->g(4,5); //ok
     24
     25   return 0;
     26 }

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux