使用彎路V3的,我得到這個錯誤。不兼容的參數類型PVOID
Std* _std = new Std();
case DLL_PROCESS_ATTACH:
DetourAttach(&(PVOID&)_std->m_pKey, &Std::m_Key);
// or if I do this
DetourAttach(&(PVOID&)_std->m_pKey, _std->m_Key);
// the error becomes Std::m_Key non-stardard syntax; use & to create a pointer to member
我知道我可以在不使用類的情況下做到這一點,但我希望這樣做。有什麼建議麼?
更新
DetourAttach
簽名(也可以找到here):
LONG WINAPI DetourAttach(PVOID *ppPointer,
PVOID pDetour)
至於Std::m_Key
int Std::m_Key(int a1, int a2, int a3)
{
return m_pKey(a1, a2, a3);
}
請提供一些更多信息。 'DetourAttach'的簽名是什麼?什麼是「Std :: m_Key」的類型? 'DetourAttach'對它的參數做了什麼,你想傳遞什麼?一個[mcve]將是理想的。 – Angew
&(PVOID&)顯然是錯誤的。這意味着你正在傳遞一個指針指向一個類型爲void – Chris