http://bugs.winehq.org/show_bug.cgi?id=10122
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #5 from Anastasius Focht focht@gmx.net 2007-10-26 18:03:28 --- Hello,
that dynamic_cast/__RTDynamicCast "unknown" parameter looks like some virtual function table offset/delta when downcasting virtual base classes. I wrote some sample, though the downcast itself is not really useful in that case.
--- snip sample --- struct vbase { virtual int get_num() const = 0; };
struct base : virtual vbase { int get_num() const { return 1; } };
struct derived : virtual base { int get_num() const { return 2; } };
int main () { base b; derived* d = dynamic_cast<derived*>(&b); return 0; } --- snip sample ---
__RTDynamicCast "unknown" -> virtual function table offset is 4
object memory layout for "b":
ofs+0: pointer to virtual base class table of "derived" ofs+4: pointer to virtual function table of "base"
Regards