From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-12-10 07:19:34


From: "Johan Nilsson" <johan.nilsson_at_[hidden]>
[...]
> template<typename T>
> T* dynamic_void_cast(void* pv)
> {
> struct rtti_obj__
> {
> virtual ~rtti_obj__() = 0;
> };
>
> rtti_obj__* pro = static_cast<rtti_obj__*>(pv);
>
> try
> {
> return dynamic_cast<T*>(pro);
> }

This is not required to work. T's vtable pointer is not guaranteed to be at
offset 0.