Похоже, что в Ubuntu 18.04 поставляемый по умолчанию g ++ (версия 7.3.0) по умолчанию работает в режиме, совместимом с C ++ 11. Я получаю некоторые ошибки в моих старых кодах, которые не совместимы с C ++ 11. Я установил g ++ - 6 (версия 6.4.0), и программы компилируются нормально. Можно ли отключить режим C ++ 11 в g ++ - 7?
2
Фактически, режимом по умолчанию GCC 6 уже является C ++ 14 . GCC 7 добавляет поддержку C ++ 17; вероятно, достаточно просто отключить этот материал C ++ 17. Нет необходимости возвращаться к C ++ 11. Возвращение к C ++ 98 - это действительно огромное перебор (недоумение?)
—
MSalters
что вы делали в старых программах, которые не совместимы? Возможно, вы могли делать вещи, которые вам не позволили в первую очередь из-за ошибок. В этом случае вы не получите ничего от перехода на c ++ 98.
—
WHN
@snb: Или они использовали
—
Гонки
std::auto_ptr
, или использовали auto
в своем первоначальном облике, или у них сейчас незаконные сужающие преобразования, или они использовали export
, или, или, или
@LightnessRacesinOrbit Большая часть этого была бы плохой практикой до C ++ 11.
—
WHN