title: What is the real signature of a C++ constructor after compilation
body: <p>What is the <em>real</em> signature of a constructor in C++?</p>
  
  <p>Background:
  I try to hook internal functions of a dll. I have the pdb-Debug Files and were able to get the exact location of the function, including it's undecorated name.
  The function looks like:</p>
  
  <pre><code>protected: __cdecl ClassName::ClassName(bool * __ptr64) __ptr64
  </code></pre>
  
  <p>So it is obviously a constructor.
  I tried void function(void * pThisPointer, bool * pBoolPointer), but as the program crashes after simply forwarding the call (other functions work fine this way), I assume that my signature is wrong.</p>
  
  <p>Do you know what signature to use for a constructor (which is most likely not virtual)?
  Or do you have any other ideas what may go wrong?</p>
  
  <p>EDIT:
  I use x64 and the visual studio 2010 compiler, the target compiler should be something like the visual studio compiler, as it is a microsoft dll.</p>