У меня есть требование что-то вроде
void doSomeThing(int x)
{
.....
}
void fun()
{
#ifdef XXXX_1_YYYY
doSomeThing(XXXX_1_YYYY);
#endif //XXXX_1_YYYY
#ifdef XXXX_2_YYYY
doSomeThing(XXXX_2_YYYY);
#endif //XXXX_2_YYYY
#ifdef XXXX_3_YYYY
doSomeThing(XXXX_3_YYYY);
#endif //XXXX_3_YYYY
#ifdef XXXX_4_YYYY
doSomeThing(XXXX_4_YYYY);
#endif //XXXX_4_YYYY
....
upto XXXX_20_YYYY
}
Есть ли в любом случае, я могу уменьшить его до 20, используя какой-либо метод расширения макроса или любое другое решение?
Определение MACRO можетбыть примерно таким
#define XXXX_1_YYYY 10
#define XXXX_2_YYYY 20
#define XXXX_3_YYYY 30
#define XXXX_4_YYYY 40
...
#define XXXX_20_YYYY 200
Каждый из #ifdef
не является взаимоисключающим.Код на с ++