C ++使用模板定义地图的迭代器

时间:2017-05-30 01:44:54

标签: c++ iterator

我正在尝试编写一个函数,使用模板从地图中提取键,使其更通用。一直在"期待&#39 ;;'在它之前"然后在迭代器的声明中"' iter'未在此范围内声明。请帮忙。以下是该功能的列表。

template<typename TK, typename TV>
std::vector<TK> extract_map_keys(std::map<TK, TV> const& input_map)
{
  std::vector<TK> retval;
  map< TK, TV >::iterator iter; // <-- first ERROR
  for ( iter = input_map.begin(); iter != input_map.end(); iter ++) { // <-- second ERROR
    retval.push_back(iter->first);
  }
  return retval;
}

0 个答案:

没有答案