比如 enum colour{a,b,c,d,e} colour1; colour1=a; 如果打印a或者colour1,出現(xiàn)的都是內(nèi)在值也就是0 怎樣才能打印出這些枚舉常量(a.b,c,d,)呢? 我看見有人說c不能直接打印枚舉常量,只能打印內(nèi)在值,對嗎? 如果非要打印出枚舉常量,該怎么做?
1 回答

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
c++/c
確實(shí)不支持這種情況的打印,因?yàn)槟忝杜e實(shí)際就是起個(gè)名字而已,你說int
a=10;你說怎么能打印出‘a(chǎn)'這個(gè)字符出來,而不是a的值10呢,枚舉也是這個(gè)原因。但是如果你想實(shí)現(xiàn)這個(gè)功能當(dāng)然是可以的,你可以自己映射呀,比如
你建一個(gè)字符串對應(yīng)上你的枚舉的變量。
char
p[]={'a','b','c','d','e'};
然后你如果想輸出枚舉的名字那么就輸出
p[colour1]就可以了。
東西都是自己想的。
c#倒是有這個(gè)功能,但是他內(nèi)部實(shí)現(xiàn),無非也是向我這樣編譯器幫你做了一個(gè)轉(zhuǎn)換而已,所以自己動(dòng)手,豐衣足食!
- 1 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報(bào)
0/150
提交
取消