gpt4 book ai didi

c++ - 将两个#define 混合成一个词

转载 作者:行者123 更新时间:2023-11-30 02:54:48 24 4
gpt4 key购买 nike

我的对话框中控件的约定是:

 #define DLG_NAME              1
#define DLG_NAME_CONTROL_NAME 2

我想构建一个知道控件名称的函数,并且必须获取定义的值。
很明显,我不能写 int i = DLG_NAME + _ + CONTROL_NAME

那么我如何混合第一个 #define 和另一个文本来获得第二个 #define 值?

最佳答案

我想,您正在寻找的是:

#define DLG_NAME_FIRST_COMBO 2    
#define CONTROL_NAME(x) DLG_NAME_##x

int i = CONTROL_NAME(FIRST_COMBO);

您在评论中建议的方式不起作用,因为宏表达式不会在定义之外重新求值。

关于c++ - 将两个#define 混合成一个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16831034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com