Есть большая программа с кучей версий, где номер версии определен примерно как
#define VER "1.0.1"
Надо написать функцию, тело которой меняеться в зависимости от номера версии,
то есть типа
#if VER == "1.0.1"
....//что-то пишем здесь
#else
....//что-то другое пишем здесь
#endif
Как вы понмаете это не компилируеться, так как сравнивать строки в препроцессоре нельзя.
Вариант присвоения переменной номера версии и последующее сравнение не проходит,
потому что некоторые глобалные переменные и функции появились в поздних версиях программы и при компиляции более ранней версии про эти функции ничего не известно...
Как же написать эту функцию, чтобы один раз вставил ее и все скомпилировалось на всех версиях программы?
А то множество тел функций в разные версии вставлять я уже замучился...