【发布时间】:2013-05-30 08:11:04
【问题描述】:
我的对话框上的控件约定是:
#define DLG_NAME 1
#define DLG_NAME_CONTROL_NAME 2
我想构建一个知道控件名称的函数,并且必须获取定义的值。
明明不能写int i = DLG_NAME + _ + CONTROL_NAME。
那么如何混合第一个 #define 和另一个文本来获得第二个 #define 值?
【问题讨论】:
-
按照 chris 的建议,您可以使用
##运算符来组合宏名称。但是,我不明白你想要实现什么。你想得到1_2作为标识符吗? (它不是一个有效的)。 -
没有。我希望预处理器会翻译
int i = DLG_NAME_CONTROL_NAME。 -
我再解释一下:我想创建一些从公共控件类派生的类,我会写
#define DLG_NAME_FIRST_COMBO 2和#define CONTROL_NAME FIRST_COMBO,在类的函数中我会写@987654331 @。每个类都将按照其中定义的方式操作它。我说的对吗?
标签: c++ c-preprocessor