Why can't static functions be virtual
Sebastian Biallas
groups.5.sepp at spamgourmet.com
Wed Jan 17 09:52:58 PST 2007
John McAuley wrote:
> Are statics non-virtual because that's the way c++ does it?
>
> Surely the compiler can see base.hello() and then:
>
> * look up the CBase class definition to find hello
> * get its index in the vtable and note that it is static
> * dereference base to get the CDerived vtable
> * get the address that corresponds to hello
> * call hello without passing base as a secret this pointer
What if hello want to call another "static virtual" function? This
wouldn't work without a this pointer.
More information about the Digitalmars-d
mailing list