Так что если вы конвертируете из Void * в Type * или из Type * в Void *, вы должны использовать:
void func(void *p)
{
Params *params = static_cast<Params*>(p);
}
или
void func(void *p)
{
Params *params = reinterpret_cast<Params*>(p);
}
Мне кажется static_cast более правильнымно я видел, как оба использовались для одной цели.Также имеет значение направление конверсии.то есть я все еще должен использовать static_cast для:
_beginthread(func,0,static_cast<void*>(params)
Я читал другие вопросы о кастинге в стиле C ++, но я все еще не уверен, каков правильный путь для этого сценария (я думаю, что это static_cast)