Tôi đang cố gắng cập nhật trình biên dịch C ++ của mình lên C ++ 11. Tôi đã tìm kiếm một chút và tôi đã đi đến kết luận rằng tôi phải sử dụng cờ -std=c++0x
hoặc -std=gnu++0x
, nhưng tôi không biết nhiều điều về cờ. Ai giúp tôi với? (Tôi đang sử dụng Ubuntu 12.04.)
Đây là lỗi mà tôi nhận được từ trình biên dịch khi tôi cố gắng sử dụng một thư viện được bao gồm trong C ++ 11 (tức là mảng):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
Tệp này yêu cầu hỗ trợ trình biên dịch và thư viện cho tiêu chuẩn ISO C ++ sắp tới, C ++ 0x. Hỗ trợ này hiện đang thử nghiệm và phải được bật với các tùy chọn trình biên dịch -std = c ++ 0x hoặc -std = gnu ++ 0x.
g++-4.6
(chỉ hỗ trợ -std=c++0x
)
g++
, vd g++ -std=c++0x _filename_ && ./a.out
.
-std=c++11
thay thế. Có lẽ cả hai đều được cho phép.