Compartilhar via


Erro do compilador C2009

reutilização do 'identificador' macro formal

A lista de parâmetros formais de uma definição de macro usa o identificador mais de uma vez. Os identificadores na lista de parâmetros da macro devem ser exclusivos.

Exemplos

O exemplo a seguir gera o C2009:

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

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

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

Resolução possível:

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