带有用户定义键的std :: map operator []

时间:2017-01-15 07:23:28

标签: c++ templates stdmap

我正在尝试将std::map的{​​{1}}运算符与自定义键类型一起使用:

[]

是否可以使用typedef tuple<DWORD, DWORD, DWORD, DWORD> Version; // Key type const map<Version, string> codenames { { {3,0,1,5}, "Maserati" }, { {3,0,2,6}, "Elephant" } }; Version ver{3,0,2,6}; string codename = codenames[ver]; // Error C2678 binary '[': no operator found which takes a left-hand operand of type '...' (or there is no acceptable conversion) string codename = codenames[{3,0,2,6}]; // Same error 运算符使用该自定义键类型访问值?我正在使用Visual Studio 2015 Update 3。

PS:

问题:std::maps with user-defined types as key不重复,因为它与[]运算符无关,也不回答此问题。

0 个答案:

没有答案