我真的很希望我能如下C的第二到枚举字符串
typedef enum {
GPS_FULL_COLD = "$PMTK104*37",
GPS_COLD = "$PMTK103*30",
GPS_WARM = "$PMTK102*31",
GPS_HOT = "$PMTK101*32"
} gps_start_mode;
,这样我可以有一个gps_start_mode类型检查的功能,也有它需要的值使用枚举的。但似乎c需要枚举值的整型常量。
void configureStartMode(gps_start_mode mode) {
gpsWrite(mode);
}
我想知道如果他们是一些其他枚举类型我可以在这里使用enum的地方。
否则,它似乎我需要有一个单独的数组来保存字符串值,这不是一个巨大的麻烦,但不理想。
一般来说,'#define'操作来代替。虽然不够优雅,但几十年来,人们一直在这样做。另一种技术是使用数字enum,然后将enum值传递给返回相应字符串的方法。 – 2014-09-02 19:51:31
使用枚举来保存索引到一个数组似乎是最好的解决方案 - 它很简单,并保持类型检查,成本不是太多的样板。 – Frax 2014-09-02 19:58:38