tôi đang làm tất cả mọi thứ một cách chính xác như xa như tôi có thể nói và tôi đã nhận được thông báo lỗi:C++ lỗi: 'unordered_map' không tên một loại
error: 'unordered_map' does not name a type
error: 'mymap' does not name a type
Trong mã của tôi, tôi có:
#include <unordered_map>
using namespace std;
//global variable
unordered_map<string,int> mymap;
mymap.reserve(7000);
void main {
return;
}
tôi không thấy những gì có thể thiếu ở đây ....
EDIT: khi tôi cập nhật tuyên bố của tôi để
std::tr1::unordered_map<string,int> mymap;
Tôi có thể loại bỏ lỗi đầu tiên, nhưng khi tôi cố gắng đặt trước, tôi vẫn nhận được thông báo lỗi thứ hai.
EDIT2: Như đã chỉ ra dưới đây, dự trữ phải đi vào chính và tôi cần phải biên dịch với cờ
-std=c++0x
Tuy nhiên, vẫn còn xuất hiện là lỗi liên quan đến unordered_map, cụ thể là:
error: 'class std::tr1::unordered_map<std::basic_string<char>, int>' has no member named 'reserve'
cung cấp ** hoàn chỉnh ** ví dụ –
Bạn đang sử dụng phiên bản trình biên dịch nào? Và với những lựa chọn nào bạn đang biên dịch mã của mình? ** Hãy nhớ rằng 'std :: unordered_map' có sẵn với C++ 11 **. – Nawaz
g ++. Exe (g ++ trong MinGW). Phiên bản gcc là 4.6.2. Vì vậy, có một cách để tôi sử dụng unordered_map? Khi tôi sử dụng không gian tên tr1, tôi có thể khai báo unordered_map của mình nhưng khi tôi cố gắng đặt chỗ, tôi vẫn gặp lỗi. – user788171