title: Incompatible with parameter type of PVOID
body: <p>Using detours v3, I'm getting this error:</p>
  
  <pre><code>argument of type "signed int (Std::*)(int a1, int a2, int a3)" is incompatible with parameter of type "PVOID"   Std.cpp 39  
  </code></pre>
  
  <p>When I try to use <code>DetourAttach</code> from a function on my class.</p>
  
  <pre><code>Std* _std = new Std();
  
  case DLL_PROCESS_ATTACH:
      DetourAttach(&amp;(PVOID&amp;)_std-&gt;m_pKey, &amp;Std::m_Key);
  
  // or if I do this
  DetourAttach(&amp;(PVOID&amp;)_std-&gt;m_pKey, _std-&gt;m_Key);
  // the error becomes Std::m_Key non-stardard syntax; use &amp; to create a pointer to member
  </code></pre>
  
  <p>I know I can do this without using classes, but I wish to do so. Any suggestions?</p>
  
  <hr>
  
  <p>Update</p>
  
  <p><code>DetourAttach</code> signature (can also be found <a href="https://github.com/JaapSuter/Ten18/blob/master/lib/Detours%20Express%203.0/src/detours.cpp#L1389" rel="nofollow">here</a>):</p>
  
  <pre><code>LONG WINAPI DetourAttach(PVOID *ppPointer,
                           PVOID pDetour)
  </code></pre>
  
  <p>As for <code>Std::m_Key</code></p>
  
  <pre><code>int Std::m_Key(int a1, int a2, int a3)
  {
      return m_pKey(a1, a2, a3);
  }
  </code></pre>