2009-04-06 24 views
9

Khi tôi biên dịch một ứng dụng C++ tôi đang viết sử dụng hash_map, tôi nhận được cảnh báo này trên g ++ 4.3.2:Làm cách nào để thoát khỏi cảnh báo không sử dụng hash_map g ++?

Bạn đang sử dụng tiêu đề không dùng nữa. Để loại bỏ cảnh báo này, hãy sử dụng một tệp tiêu đề ANSI-standard hoặc sử dụng cờ trình biên dịch hte -Wno-deprecated.

9> #include <ext/hash_map> 

Điều gì sẽ thay thế điều này? Tôi đã tìm kiếm một lúc trên google, và không thể tìm thấy bất cứ điều gì ngoại trừ những người có vấn đề tương tự, nhưng không có giải pháp.

+0

Tại sao câu hỏi của anh chàng này được chỉnh sửa để khớp với câu trả lời? –

Trả lời

17

Lần truy cập Google đầu tiên của tôi cho "g++ hash_map deprecated" đưa tôi đến a page bao gồm danh sách những thứ cần sử dụng thay vì tiêu đề và lớp học không được chấp nhận.

Đối với hash_map, danh sách đề xuất sử dụng unordered_map, trong tiêu đề unordered_map. Lớp học mới là TR1.

+0

Vì một số lý do tôi nhận được các kết quả khác nhau trên Google, nhưng đây là một phản hồi hoàn hảo. Cảm ơn! – Adam

+0

Tôi đoán tôi vừa mới đào tạo Google về những loại kết quả mà tôi muốn xem. Chúc mừng mã hóa. –

+6

Lần truy cập đầu tiên của tôi trên Google cho truy vấn đó là câu hỏi này về SO ... Chết tiệt bạn, Heisenberg! (lắc nắm tay của tôi trong không khí đe dọa) –

6

Tôi tin rằng cấu trúc dữ liệu mới được gọi là unordered_map

<tr1/unordered_map> 

tìm thấy trong không gian tên std::tr1.

2

Khi bao gồm, đừng quên thêm tùy chọn trình biên dịch sau đây; "-std = C++ 0x", nếu không trình biên dịch sẽ báo cáo lỗi

Các vấn đề liên quan