title: Macro to replace Method with specific Argument count
body: <p>I have a 'calculate' method with two different declarations:</p>
  
  <pre><code>int calculate(int parmA);
  int calculate(int parmA, int parmB, int parmC);
  </code></pre>
  
  <p>I want to replace only calculate(int parmA) with a call to 'calculateNew':</p>
  
  <pre><code>int calculateNew(int parmA);
  </code></pre>
  
  <p>I have tried using define in two different ways:</p>
  
  <pre><code>#define calculate calculateNew
  #define calculate(parmA) calculateNew(parmA)
  </code></pre>
  
  <p>When I do this I get compiler errors in other parts of the code due to different number of arguments:</p>
  
  <pre><code>macro "calculate" passed 2 arguments, but takes just one
  </code></pre>
  
  <p>What am I doing wrong here? How can I tell the preprocessor to replace only if there is one argument? Can I even do that?</p>
  
  <p>NOTE: I realize that this might not be the best approach to this problem, but it is required to be made this way.</p>