Có vẻ như trong Ubuntu 18.04, g ++ mặc định được vận chuyển (phiên bản 7.3.0) chạy ở chế độ tương thích C ++ 11 theo mặc định. Tôi nhận được một số lỗi trong các mã cũ không tương thích với C ++ 11. Tôi đã cài đặt g ++ - 6 (phiên bản 6.4.0) và các chương trình đang biên dịch tốt. Có thể tắt chế độ C ++ 11 trong g ++ - 7 không?
2
Trên thực tế, chế độ mặc định của GCC 6 đã là C ++ 14 . GCC 7 bổ sung hỗ trợ C ++ 17; Có lẽ chỉ cần vô hiệu hóa thứ C ++ 17 này. Không cần quay lại C ++ 11. Quay trở lại C ++ 98 thực sự là quá mức cần thiết (chưa đủ?)
—
MSalters
Bạn đã làm gì trong các chương trình cũ không tương thích? Bạn có thể đã có thể làm những việc bạn không được phép ở nơi đầu tiên do lỗi. Trong trường hợp đó, bạn sẽ không đạt được bất cứ điều gì từ việc chuyển sang c ++ 98.
—
whn
@snb: Hoặc họ đã sử dụng
—
Lightness Races ở Orbit
std::auto_ptr, hoặc họ đã sử dụng autotrong chiêu bài ban đầu của nó, hoặc họ có chuyển đổi hẹp bây giờ bất hợp pháp, hoặc họ đã sử dụng export, hay, hoặc, hoặc
@LightnessRacesinOrbit Hầu hết điều đó sẽ là thực hành kém trước C ++ 11.
—
whn