Это одна из причин, по которой люди стараются избегать использования нескольких версий функций, которые вы создаете с помощью #define
, #if
и т. Д. Трудно протестировать все эти разные версии.
Если вы хотите протестировать обе версии, вы должны скомпилировать вашу программу дважды (одну с #define FOO
и одну без), а затем запустить тесты отдельно.Единственный способ изменить значение FOO
, как написано, это перекомпилировать программу.
Кроме того, вы можете реорганизовать свой код, чтобы #define
не требовался.