Проверьте, является ли компилятор Turbo C++
В настоящее время я имею дело с устаревшим кодом, разработанным для Turbo C++. Чтобы обойти Turbo C++ отсутствие bool
Тип данных, программа содержит следующую строку кода.
// Necessary when compiling with Turbo C++
enum bool {false, true};
Большинство компиляторов C++ не запускают программу с error: expected identifier before 'bool'
, Хотя мне бы хотелось перейти на более свежий компилятор, я, к сожалению, должен поддерживать этот обходной путь для обратной совместимости.
Как я могу указать, что эта конкретная строка кода должна компилироваться только в Turbo C++?
1 ответ
Решение
Как предложено Томасом Мэтьюсом и Селби в комментариях:
#ifdef __TURBOC__
// Only runs if compiler is Turbo C++
enum bool {false, true};
#endif
Источник: http://beefchunk.com/documentation/lang/c/pre-defined-c/precomp.html