Нет, вы не можете этого сделать.Тем не менее, вы можете использовать шаблонный класс для этого.Заметьте, я предоставляю решение, но я не думаю, что вы все равно должны хранить указатель void*
.
template<class T>
T* cast(void* ptr) { return static_cast<T*>(ptr); };
Затем вы можете сделать:
int* intPtr = cast<int>(ptr);
Я повторяювам, вероятно, вообще не нужно использовать void*
.