C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) win8 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) vc2010,MFC 問題(Question): class test{ ... enum { item0, item1, item2, } } template<typename T1,typename T2> int TransEnum(const T1& A,const T2& B) { ... } 預期的正確結果(Expected Output): CString A = "test"; CString B = "item1"; int num = TransEnum(A,B); //num可以得到1 程式碼(Code):(請善用置底文網頁, 記得排版) 還不知道要怎麼寫,直接要答案也不太禮貌,但可以給我一點提示嗎?謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.234.239
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1483682136.A.1AF.html
1F:→ Caesar08: 用template又指定CString? 01/06 14:26
2F:→ tyc5116: 恩~輸入字串,找到名稱相對應的enum 01/06 14:35
3F:→ tyc5116: 雖然我也覺得那樣的宣告方式怪怪的 01/06 14:35
4F:推 shadow0326: 不太懂想做什麼,如果只是想把字串mapping enum的話 01/06 14:56
5F:→ shadow0326: 何不用unordered_map 01/06 14:56
6F:→ uranusjr: 最簡單的方法是自己寫一個 map, 其他方法都很 hacky 01/06 17:42
7F:推 noodleT: 是想要修改 item 不須動到其它程式碼嗎? 01/06 18:30
8F:→ tyc5116: 因為用map實作,現有的程式要修改不少,所以在想說有沒有 01/06 19:29
9F:→ tyc5116: 其它辦法,template可以實作的話似乎是最簡潔的方式 01/06 19:30
10F:→ tyc5116: 所以上來問問看 01/06 19:30
11F:→ uranusjr: 那只能老實跟你說這個用純 C++ 真的是辦不到... 01/06 21:49
12F:→ uranusjr: 唯一比較像的是 macro 例如 #define TE(t1, t2) t1::t2 01/06 21:51
13F:→ uranusjr: 之類的可以讓你 TE(test, item1) 但是用字串變數不可能 01/06 21:51
14F:推 soheadsome: m4之類的應該可以 感覺你是想做ruby那種hash 01/06 22:32
15F:推 noodleT: 不如做一個解析器,利用原始碼文字檔產生 map.cpp 01/07 00:03
16F:→ druid0214: 用一個function作初始化回傳static的列表 01/07 07:11
17F:→ druid0214: https://youtu.be/EJtqHLvAIZE 類似的行為 01/07 07:12
18F:推 druid0214: 但是感覺你要動態初始化enum 簡稱白X 01/07 07:15
19F:→ tyc5116: 原來的需求,有個現成的func,可以新增欄位到database內 01/07 10:48
20F:→ tyc5116: 其中一個參數指定欄位的順序位置,原程式用enum指定位置順 01/07 10:49
21F:→ tyc5116: 序,例如addtable(tablename,fieldname,type,pos) 01/07 10:50
22F:→ tyc5116: 參數4丟的就是test::item1,之類的,若要新增大量欄位 01/07 10:51
23F:→ tyc5116: 就會變的麻煩,其它參數都可以由外部txt or ini或得,只有 01/07 10:52
24F:→ tyc5116: 這個參數不知道怎麼處理比較好 01/07 10:52
25F:→ tyc5116: 雖然db不在意順序位置,但是順序亂看的時候還是會不方便.. 01/07 10:54
26F:推 noodleT: 用另一個 ini 當紀錄 [enum] item0=0 01/07 23:11
27F:噓 Sidney0503: 你的想法就好比要C語言private繼承&變數型態隨意變化 01/09 10:58
28F:→ Sidney0503: 現有的程式要修改不少 那就是設計不良 架構錯誤 01/09 10:59
29F:→ Sidney0503: 那更要重購 01/09 11:00
30F:推 Sidney0503: 所以建議從頭改你們的程式架構 01/09 11:00
31F:推 fqstory: Class 和 Enum 是數量固定,可以窮舉if else做到(醜了點 01/15 11:36
32F:→ fqstory: ) 01/15 11:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP