Tôi tuyên bố bản đồ về chuỗi để một cặp đôi như sau:Làm thế nào để chèn một cặp std :: cặp bên trong một std :: cặp?
std::map<std::wstring,
std::pair<std::pair<long, long>,
std::pair<long, long>>> reference;
Và tôi khởi tạo nó như:
reference.insert(L"First",
std::pair<std::pair<long, long>,
std::pair<long, long>>(std::pair<long, long>(-1, -1),
std::pair<long, long>(0, 0)));
Tuy nhiên, Visual C++ cung cấp cho tôi những lỗi "C2664, Không constructor có thể lấy kiểu nguồn hoặc độ phân giải quá tải của constructor là mơ hồ ".
Tôi mới sử dụng mẫu và STL và tôi không thể biết mình đang làm gì sai.
Vui lòng sử dụng typedef's và 'std :: make_pair' để dễ đọc. – GManNickG
Tôi đã định dạng lại nó để làm cho nó trở nên dễ dàng hơn * trên mắt. – egrunin
Thay vì lồng tất cả các 'std :: pair' s này, bạn không thể chuyển sang sử dụng' std :: tr1 :: tuple'? Boost cũng có quá trình thực hiện tuple. – Praetorian