Sepertinya di Ubuntu 18.04, default yang dikirimkan g ++ (versi 7.3.0) berjalan dalam mode yang kompatibel dengan C ++ 11 secara default. Saya mendapatkan beberapa kesalahan dalam kode lama saya yang tidak kompatibel dengan C ++ 11. Saya menginstal g ++ - 6 (versi 6.4.0) dan program-programnya dikompilasi dengan baik. Apakah mungkin untuk menonaktifkan mode C ++ 11 di g ++ - 7?
2
Sebenarnya, mode default GCC 6 sudah C ++ 14 . GCC 7 menambahkan dukungan C ++ 17; mungkin cukup untuk menonaktifkan C ++ 17 saja. Tidak perlu kembali ke C ++ 11. Kembali ke C ++ 98 benar-benar berlebihan (underkill?)
—
MSalters
apa yang Anda lakukan dalam program lama yang tidak kompatibel? Anda mungkin bisa melakukan hal-hal yang Anda tidak diizinkan karena bug. Dalam hal ini Anda tidak akan mendapatkan apa pun dari pergi ke c ++ 98.
—
whn
@snb: Atau mereka menggunakan
—
Lightness Races di Orbit
std::auto_ptr
, atau mereka menggunakan auto
kedok aslinya, atau mereka sekarang memiliki konversi penyempitan ilegal, atau mereka menggunakan export
, atau, atau,
@LightnessRacesinOrbit Sebagian besar akan menjadi praktik yang buruk sebelum C ++ 11.
—
whn