我已经定义了pair
,我希望将insert
改为map
。这样做的正确方法是什么?
insert
的返回值进行了检查,其第二个成员是False
)。
我想修复第二种形式的方法很简单,但我找不到它。
这就是我所拥有的:
using namespace std;
typedef pair<string, char> pair_t;
typedef map<pair_t::first_type, pair_t::second_type> map_t;
typedef pair<map_t::iterator,bool> retval_insert_t;
int main(void) {
pair_t p2;
p2 = make_pair("Fer", 'C');
map_t grade_list;
grade_list[ "Jorge" ] = 'A';
grade_list.insert(make_pair("Alba", 'D'));
grade_list.insert(pair_t("Susi", 'C'));
grade_list.insert(make_pair(p2.first, p2.second)); // This works
grade_list.insert(p2); // This does not work
return 0;
}