Это сложно, но мне повезло с таким кодом:
*reinterpret_cast<void**>( &(PVOID&)( DetourFunc ) ) = (PVOID) 0x00FFFF00;
Идея, насколько я понимаю, заключается в том, что вы ссылаетесь на ссылку, интерпретируете ссылку, а затем разыменовываете ее,Немного смущает, но я могу убедиться, что это работает.Вы также можете поместить адрес справа (& func), и он будет работать.Вызов DetourFunc с использованием формы:
(DetourFunc)(param, param)
вызовет исходный адрес или функцию.
Редактировать: Это работает, но выглядит как довольно серьезное злоупотреблениеязык.Это работает, однако, и было рекомендовано в нескольких других вопросах здесь.