确保一次只定义一个预处理器指令的更简单方法?

问题描述 投票:0回答:0

这段代码可以工作,但是随着添加更多的预处理器定义,它变得臃肿:

#define TEST1
#define TEST2
#define TEST3

#if (!TEST1 && !TEST2 && !TEST3)
#error Must define at min one of TEST1, TEST2, TEST3
#elif (TEST1 && (TEST2 || TEST3)) || (TEST2 && (TEST1 || TEST3)) || (TEST3 && (TEST1 || TEST2))
#error Must define at max one of TEST1, TEST2, TEST3
#endif

基本上,一次只能定义一个预处理器指令。

添加另一个需要写出所有可能的组合。

有什么我不知道的技巧可以解决这个问题吗?

c# optimization preprocessor-directive
© www.soinside.com 2019 - 2024. All rights reserved.