編譯器錯誤 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));
}