다음을 통해 공유


컴파일러 오류 C2009

매크로 형식 'identifier'를 다시 사용하세요.

매크로 정의의 정식 매개 변수 목록은 식별자를 두 번 이상 사용합니다. 매크로의 매개 변수 목록의 식별자는 고유해야 합니다.

예제

다음 샘플에서는 C2009를 생성합니다.

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

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

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

해결 방법:

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