一旦创建了 C 枚举,就可以向它添加值吗?

标签 c enums

我尝试用 Google 搜索它,但没有找到任何结果。有谁知道这是否可以做到?如果没有,是否有解决此问题的优雅工作?

更新:我认为 Frank Osterfeld 的回答是最明确的解决方案。感谢所有其他答案,我赞成你的答案。

最佳答案

正如其他人所说,您不能重新声明一个枚举(在哪种情况下,无论如何应该使用哪个枚举?)。

如果您只需要一些常量,并想为特殊情况扩展它们,您可以使用多个枚举声明,一个扩展另一个,然后使用 int 来保存值:

enum Error { NoError=0, AllIsBroken, WhatTheHellAreYouDoing, UserDefinedError };

enum NetworkError { HostNotFound=UserDefinedError+1, ConnectionTimeout, ... };

int error = HostNotFound;

if ( error == NoError )
    ...
if ( error == HostNotFound )
    ...

关于一旦创建了 C 枚举,就可以向它添加值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743503/

相关文章:

java - 使用枚举选择内部实现

c - Marco 函数错误预期声明说明符或 '...' 之前的 '{' 标记

c++ - 如何禁用 GTK 拖放?

c - 返回以相同字母结尾和开头的单词的程序

swift - 比较忽略关联值的 Swift 枚举类型 - 通用实现

node.js - 如何使用虚拟方法从 Mongoose 模式获取枚举值?

c# - 检查字节是否是枚举中的值

c - 在 c 中正确使用 ftw()

无效读/写会导致 SIGBUS 错误吗?

c# - 如何将枚举转换为字节数组?