I\'m dang certain that this code ought to be illegal, as it clearly won\'t work, but it seems to be allowed by the C++0x FCD.
class X { /* ... */};
void* raw
I suppose you might get away with it (on a particular compiler) if
new/delete are implemented in terms of malloc/free and new actually uses the same mechanism for keeping track of the destructor associated with allocations as the standard new, so that the call to delete could find the right destructor. But there is no way it can be portable or safe.