我使用boost::bimap
到整數映射到字符串:如何使參考變量boost :: bimap.left?
typedef boost::bimap<int, std::string> ParamIDStrings;
typedef ParamIDStrings::value_type id_pair;
extern const ParamIDStrings paramIDStrings;
我試圖創建引用變量,所以我可以寫這樣的代碼:
paramIDStringsByID.at(5);
// Instead of having to remember which side is which:
paramIDStrings.left.at(5);
但我有一個困難時期解釋Boost documentation,以瞭解bimap::left
是什麼類型。
我想:
// Compiler throws error: invalid use of template-name 'boost::bimaps::bimap' without an argument list
boost::bimaps::bimap::left ¶mIDStringsByID = paramIDStrings.left;
// Compiler throws error: 'paramIDStrings' does not name a type
paramIDStrings::left_map ¶mIDStringsByID = paramIDStrings.left;
// Compiler throws error: invalid initialization of reference of type boost::bimaps::bimap<int, std::__cxx11::basic_string<char> >::left_map
boost::bimaps::bimap<int,std::string>::left_map &cParamIDStringsByID = cParamIDStrings.left;
你試過'汽車&'而不在乎嗎? – nwp
@nwp哇,謝謝。現在我知道'auto'有什麼用處了。如果你作出答覆,我會接受它。不過,如果知道如何閱讀這些令人困惑的Boost文檔,那麼知道實際的類型是什麼會很好。 – DBedrenko
'boost :: bimaps :: bimap :: left_map&lmap'怎麼樣? –
Hummingbird