Condividi tramite


Errore del compilatore C2009

riutilizzo di 'identifier' come parametro formale della macro

L'elenco di parametri formali di una definizione di macro usa più volte l'identificatore. Gli identificatori nell'elenco dei parametri della macro devono essere univoci.

Esempi

L'esempio seguente genera l'errore C2009:

// C2009.cpp
#include <stdio.h>

#define macro1(a,a) (a*a)   // C2009

int main()
{
    printf_s("%d\n", macro1(2));
}

Possibile soluzione:

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