typeid() broken for interfaces?

Walter Bright newshound2 at digitalmars.com
Sat Dec 1 13:28:02 PST 2012


On 11/30/2012 9:04 PM, Gor Gyolchanyan wrote:
> interface I { }
> class C: I { }
>
> I object = new C;
> assert(typeid(object) == typeid(C)); // fails
>
> Is this normal or is it a bug?

Normal, since the typeids of interfaces are not the same as for classes.

> Note, that the same works fine in case of a base class, rather then an
> interface.

That works, because classes are classes. Classes are not interfaces.





More information about the Digitalmars-d mailing list