我有一个像这样的代码块:
#ifdef AB
int value = 5;
#else
int value = 10;
#endif
#ifdef CD
int value = 9;
#else
int value = 11;
#endif
但现在我的问题是,如果AB和CD宏都处于活动状态,则该值设置为9.我在同一解决方案中有两个项目。一个人使用AB和另一张CD,那么如何在不将它们放入单独的解决方案的情况下进行区分?
答案 0 :(得分:4)
请勿使用宏。
很明显,如果您需要同时存在两个变量,并且两个值都存在,那么它们就不能具有相同的名称。考虑某种数组或容器,它可以包含两个值,使用方便的描述性名称编制索引。
或者只是拥有两个不同命名的变量,并根据适当的条件决定在任何给定点使用使用哪一个。