Boost logo

Boost :

From: Simon Buchan (simon_at_[hidden])
Date: 2005-09-25 19:56:09


Jason Hise wrote:
> Why does the following compile? The parameter type of A's pure virtual
> function is private. How come B can see it, allowing it to override the
> pure virtual function?
>
> class A
> {
> private:
> struct S { };
> virtual void bar ( S ) = 0;
> };
>
> class B : public A
> {
> public:
> virtual void bar ( A::S )
> {
> }
> };
>
> int main ( )
> {
> B b;
> return 0;
> }
>
> -Jason
Perhaps a question for comp.lang.c++. Remember to give the compiler,
environment, and command-line you compiled it with. That said, it looks
like a compiler bug (but I'm not up to date on the standard's wording).


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk