I have the following code
#define myfunc(a,b) myfunc(do_a(a), do_b(b))
void myfunc(int a, int b)
{
do_blah(a,b);
}
int main()
{
int x = 6, y = 7;
I see three possible solutions:
define your macro after function definition.
define, before the function definition, do_a() and do_b() such that they return their argument, and redefine them at your will after function definition
perform do_a() and do_b() inside the function:
void myfunc(int a, int b)
{
do_blah(do_a(a),do_b(b));
}
I have a strong preference for the latter.