title: _begintheadex function call problem
body: <p>I have a class SoundManager which contains a function called 'recordLoop'. In the constructor of the SoundManager, I am using this code:</p>
  
  <pre><code>    recordHandle = (HANDLE)_beginthreadex(NULL,0,recordLoop,
          (void*)exinfo-&gt;length,CREATE_SUSPENDED,0);
  </code></pre>
  
  <p>It is giving me the following errors:</p>
  
  <pre><code>   error C3867: 'SoundManager::recordLoop': function call missing argument list; use '&amp;SoundManager::recordLoop' to create a pointer to member
     IntelliSense: argument of type "unsigned int (__stdcall SoundManager::*)(void *params)" is incompatible with parameter of type "unsigned int (__stdcall *)(void *)"
  </code></pre>
  
  <p>So I've tried using the &amp;SoundManager::recordLoop as suggested, but it gives me this:</p>
  
  <pre><code>   error C2664: '_beginthreadex' : cannot convert parameter 3 from 'unsigned int (__stdcall SoundManager::* )(void *)' to 'unsigned int (__stdcall *)(void *)'
     IntelliSense: argument of type "unsigned int (__stdcall SoundManager::*)(void *params)" is incompatible with parameter of type "unsigned int (__stdcall *)(void *)"
  </code></pre>
  
  <p>Is it illegal to start a thread on a class method or did I do something wrong?</p>
  
  <p>Thanks in advance</p>
  
  <p>EDIT: Sorry forgot to add the recordLoop >.&lt;  here it is:</p>
  
  <pre><code> public:
   unsigned __stdcall recordLoop(void* params);
  </code></pre>