Error del compilador C2009
volver a usar el parámetro formal de macro 'identificador'
La lista de parámetros formales de una definición de macro usa el identificador más de una vez. Los identificadores de la lista de parámetros de la macro deben ser únicos.
Ejemplos
El ejemplo siguiente genera C2009:
// C2009.cpp
#include <stdio.h>
#define macro1(a,a) (a*a) // C2009
int main()
{
printf_s("%d\n", macro1(2));
}
Posible solución:
// C2009b.cpp
#include <stdio.h>
#define macro2(a) (a*a)
#define macro3(a,b) (a*b)
int main()
{
printf_s("%d\n", macro2(2));
printf_s("%d\n", macro3(2,4));
}