title: Call a void* as a function without declaring a function pointer
body: <p>I've searched but couldn't find any results (my terminology may be off) so forgive me if this has been asked before.</p>
  
  <p>I was wondering if there is an easy way to call a <code>void*</code> as a function in C without first declaring a function pointer and then assigning the function pointer the address;</p>
  
  <p>ie. assuming the function to be called is type <code>void(void)</code></p>
  
  <pre><code>void *ptr;
  ptr = &lt;some address&gt;;
  ((void*())ptr)(); /* call ptr as function here */
  </code></pre>
  
  <p>with the above code, I get <em>error C2066: cast to function type is illegal</em> in VC2008</p>
  
  <p>If this is possible, how would the syntax differ for functions with return types and multiple parameters?</p>