我正在使用这些数据结构
map < vector < string > , int > hash;
vector < string > element;
创建元素向量后。 当我尝试使用这种数据结构时 -
if(hash[element].count()==0) // line 1
hash.insert(pair< <vector<string>,int>(element,1)); // line 2
我收到以下错误 -
第1行:
[错误]请求
count
中的成员hash.std::map<_Key, _Tp, _Compare, _Alloc>::operator[]<std::vector<std::basic_string<char> >, int, std::less<std::vector<std::basic_string<char> > >, std::allocator<std::pair<const std::vector<std::basic_string<char> >, int> > >((*(const key_type*)(& element)))
,这是非类型的std::map<std::vector<std::basic_string<char> >, int>::mapped_type {aka int}
第2行:
错误的模板参数数量(1,应为2)
答案 0 :(得分:1)
该行
if(hash[element].count()==0) // line 1
需要:
if(hash.count(element)==0) // line 1
该行
hash.insert(pair< <vector<string>,int>(element,1)); // line 2
// Remove the ^^^ Extra <
需要:
hash.insert(pair<vector<string>,int>(element,1)); // line 2
或更好:
hash.emplace(element,1);