Saya mencoba memperbarui kompiler C ++ saya ke C ++ 11. Saya telah mencari sedikit dan saya sampai pada kesimpulan bahwa saya harus menggunakan bendera -std=c++0x
atau -std=gnu++0x
, tetapi saya tidak tahu banyak hal tentang bendera. Ada yang bisa bantu saya? (Saya menggunakan Ubuntu 12.04.)
Berikut adalah kesalahan yang saya dapatkan dari kompiler ketika saya mencoba menggunakan pustaka yang termasuk dalam C ++ 11 (yaitu array):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
File ini membutuhkan dukungan kompiler dan pustaka untuk standar ISO C ++ mendatang, C ++ 0x. Dukungan ini saat ini bersifat percobaan, dan harus diaktifkan dengan opsi -std = c ++ 0x atau -std = gnu ++ 0x.
g++-4.6
secara default (yang hanya mendukung -std=c++0x
)
g++
, mis g++ -std=c++0x _filename_ && ./a.out
.
-std=c++11
. Mungkin keduanya diizinkan.