ฉันพยายามอัปเดตคอมไพเลอร์ C ++ เป็น C ++ 11 ฉันค้นหาเล็กน้อยและได้ข้อสรุปว่าฉันต้องใช้ธง-std=c++0x
หรือ-std=gnu++0x
แต่ฉันไม่รู้อะไรเกี่ยวกับธงหลายอย่าง มีใครช่วยฉันบ้าง (ฉันใช้ Ubuntu 12.04)
นี่คือข้อผิดพลาดที่ฉันได้รับจากคอมไพเลอร์เมื่อฉันพยายามใช้ไลบรารี่ซึ่งรวมอยู่ใน C ++ 11 (เช่นอาร์เรย์):
#include <array>
#include <iostream>
int main()
{
std::array<int, 3> arr = {2, 3, 5};
...
}
ไฟล์นี้ต้องการคอมไพเลอร์และการสนับสนุนไลบรารีสำหรับมาตรฐาน ISO C ++ ที่จะมาถึง C ++ 0x ขณะนี้การสนับสนุนนี้อยู่ระหว่างการทดลองและต้องเปิดใช้งานด้วยตัวเลือกคอมไพเลอร์ -std = c ++ 0x หรือ -std = gnu ++ 0x
g++-4.6
โดยค่าเริ่มต้น (ซึ่งสนับสนุนเท่านั้น-std=c++0x
)
g++
g++ -std=c++0x _filename_ && ./a.out
-std=c++11
แทน ทั้งคู่อาจได้รับอนุญาต