Tôi có Eclipse Juno C++ (ID xây dựng: 20120614-1722). Tôi đang cố gắng thiết lập các đối số gọi trình biên dịch với lệnh -std = C++ 11 hoặc -std = C++ 0x nhưng trong khi biên dịch mã dưới đây. Không có "Cài đặt Công cụ" trong Eclipse Juno (ít nhất là cho Mac), vì vậy tôi không thể chuyển đến "C/C++ Build -> Settings -> Tool Settings". trình biên dịch của tôi là GCC 4.8.0Không thể thiết lập Eclipse Juno C++ với std = C++ 11
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main(void) {
vector<string> v = {"a","b","c"};
for(string s: v){
cout << s << endl;
}
return 0;
}
tôi nhận:
HelloWorld.cpp:16:33: error: could not convert ‘{"a", "b", "c"}’ from ‘<brace-enclosed initializer list>’ to ‘std::vector<std::basic_string<char> >’
HelloWorld.cpp:17:16: error: range-based ‘for’ loops are not allowed in C++98 mode
Bạn đang sử dụng thư viện chuẩn _compiler_ và thư viện chuẩn nào? – ildjarn
Trình biên dịch GCC 4.8.0 –
bạn có đảm bảo rằng bạn đã đặt các tùy chọn cho g ++ (và không phải là một phần khác của chuỗi công cụ)? : làm điều này: C/C++ Build -> Settings -> Tool Settings -> GCC C++ Compiler -> Miscellaneous -> Flags khác. Đặt -std = C++ 0x ở cuối. –