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/cn.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灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP