Проверьте, является ли компилятор переполнением Turbo Stack

В настоящее время я имею дело с устаревшим кодом, предназначенным для Turbo C ++. Чтобы обойти Turbo C ++ отсутствие bool Тип данных, программа содержит следующую строку кода.

// Necessary when compiling with Turbo C++
enum bool {false, true};

Большинство компиляторов C ++ не запускают программу с error: expected identifier before 'bool', Хотя мне бы хотелось перейти на более свежий компилятор, я, к сожалению, должен поддерживать этот обходной путь для обратной совместимости.

Как я могу указать, что эта конкретная строка кода должна компилироваться только в Turbo C ++?

3

Решение

По предложению Томас Мэтьюз а также selbie в комментариях:

#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

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]