如何在编译期间阻止将枚举元素多次使用给宏函数

问题描述

请在下面找到示例代码

typedef enum {
    ID_001 = 1,ID_002 = 2,ID_003 = 3,}ENM_t;
#define ERR(en) {printf("ID = %d\n",en);}
int main()
{  
    ERR(ID_001);
    ERR(ID_003);
    return 0;
}

如果我多次向宏函数'ERR'传递相同的枚举元素,是否有任何方法会导致编译时错误?如果我使用的话,上面的程序应该编译没有任何错误
ERR(ID_001); ERR(ID_001); 那么应该会给出编译时错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)