警告是否传递了枚举的无效值?

问题描述

如果我有一个采用 enum 参数的函数,并且我传递了一个不代表有效枚举成员的文字,我能否让编译器发出警告(gcc、clang、msvc?)示例代码

typedef enum {
    GPIO_0,GPIO_1,GPIO_2,GPIO_3
} gpio_t;

void gpio_set(gpio_t gpionum,uint8_t value) {
    // ...
}

int main(int argc,const char** argv) {
    // I want a warning here because there is no 5 in gpio_t:
    gpio_set(5,1);
}

解决方法

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

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

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