我该如何在 #ifdef 中添加 'or' 条件?
我尝试过:
#ifdef CONDITION1 || CONDITION2
#endif
这不起作用。
我该如何在 #ifdef 中添加 'or' 条件?
我尝试过:
#ifdef CONDITION1 || CONDITION2
#endif
这不起作用。
#if defined(CONDITION1) || defined(CONDITION2)
应该可以工作。 :)可以使用这个-
#if defined CONDITION1 || defined CONDITION2
//your code here
#endif
这也是同样的效果-
#if defined(CONDITION1) || defined(CONDITION2)
//your code here
#endif
更进一步:
#if defined CONDITION1 && defined CONDITION2
#if defined CONDITION1 ^ defined CONDITION2
#if defined CONDITION1 && !defined CONDITION2
请检查:
#if defined __WINDOWS__ && ( _MSC_VER >= 1700 )
enum class FUTURES_DS_STAGE{
...
};
#else
enum FUTURES_DS_STAGE{
...
};
#endif
我非常注重保持严格的列限制,不喜欢使用“\”进行换行,因为你不能在其后添加注释,所以这是我的方法。
//|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|//
#ifdef CONDITION_01 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef CONDITION_02 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef CONDITION_03 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef TEMP_MACRO //| |//
//|- -- -- -- -- -- -- -- -- -- -|//
printf("[IF_CONDITION:(1|2|3)]\n");
//|- -- -- -- -- -- -- -- -- -- -|//
#endif //| |//
#undef TEMP_MACRO //| |//
//|________________________________________|//
#if !defined(CONDITION1) && !defined(CONDITION2)
。但是,如果你想在两个条件其中之一未被定义时执行操作,可以使用@user3017748和jalf的评论中提到的方法。请注意,翻译尽力保留原意,使内容更加易懂,并省略了其他内容。 - cp.engr#endif
吗? - Stevoisiak