title: Pass a __thiscall to a function typedef
body: <p>I don't even know how to properly word this, but I'll try my best to explain it in code:</p>
  
  <pre><code>typedef void( *ExampleFn )( PVOID p1, PVOID p2, PVOID p3 );
  
  struct Example
  {
      void ExampleFunction( PVOID p1, PVOID p2, PVOID p3 )
      {
          // do something with Example's members
      }
  };
  
  Example example;
  ExampleFn exampleFn = example.ExampleFunction;
  </code></pre>
  
  <p>So, I get this error:</p>
  
  <pre><code>Error C2440 '=': cannot convert from 'void (__thiscall Example::* )(PVOID,PVOID,PVOID)' to 'ExampleFn'
  </code></pre>
  
  <p>I understand the problem, Example::ExampleFunction is a __thiscall and ExampleFn is not, but how can I go about this?</p>
  
  <p>How to have a Example object with a ExampleFn-like function in it that can use that object's members?</p>