Teilen über


Compilerfehler C2009

Mehrfachverwendung des formalen Makroparameters „identifier“

Remarks

Die formale Parameterliste einer Makrodefinition verwendet den Bezeichner mehrmals. Bezeichner in der Parameterliste des Makros müssen eindeutig sein.

Example

Im folgenden Beispiel wird C2009 generiert:

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

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

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

Possible resolution:

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