Compartir a través de


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));
}