According to this, void*
has no RTTI information, therefore casting from void*
is not legal and it make sense.
If I remember correctly,
It is true that void*
can't be dynamically_cast
ed from.
You are probably mis-remembering. With g++ 4.5 and the following code
struct A {
virtual ~A();
};
int main() {
A a;
void *p = &a;
A* pa = dynamic_cast(p);
}
I get the following error:
cannot dynamic_cast 'p' (of type 'void*') to type 'struct A*' (source is not a pointer to class)