title: Embedded C - Too many arguments to function (pointer)
body: <p>I am trying to invoke the following macro in my .cpp file:</p>
  
  <pre><code>#define IAP_ROM_LOCATION                0x1FFF1FF1UL
  #define IAP_EXECUTE_CMD(a, b)           ((void (*)())(IAP_ROM_LOCATION))(a, b)
  </code></pre>
  
  <p>However, when I call said function like so:</p>
  
  <pre><code>IAP_EXECUTE_CMD(0, 0);
  </code></pre>
  
  <p>I get an error saying too many arguments specified? How is this? I would appreciate any pointers.</p>
  
  <p>Development environment is GCC for Cortex-M3.</p>