小编Jon*_*aft的帖子

如何将“else if”与预处理器#ifdef 一起使用?

在我的项目中,程序可以做两件事中的一件事,但不能同时做两件事,所以我决定对一个类能做的最好的事情就是根据 #define 预处理器变量来定义它。下面的代码可以向你展示我的想法,但你可以猜到它不起作用:

#ifdef CALC_MODE
typedef MyCalcClass ChosenClass;
#elifdef USER_MODE
typedef MyUserClass ChosenClass;
#else
static_assert(false, "Define CALC_MODE or USER_MODE");
#endif
Run Code Online (Sandbox Code Playgroud)

所以我可以做

#define CALC_MODE
Run Code Online (Sandbox Code Playgroud)

就在这之前。

如果需要的话我可以放弃使用static_assert。这个怎么做?

c++ preprocessor c-preprocessor

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

c-preprocessor ×1

preprocessor ×1