【发布时间】:2014-06-30 14:52:03
【问题描述】:
我有这个代码:
int solution(int K, const vector<int> &A) {
int count=0,size,comp=0;
unordered_map<long,long> map;
size = A.size();
if(size==0)
return 0;
for(int i=0;i<size;i++){
map.insert(A[i],i); //error here
}
for(int i=0;i<size;i++){
comp = K-A[i];
unordered_map<long,long>::const_iterator index = map.find(comp);
if(index == map.end())
continue;
else if(index->second != i){
count++;
}
}
cout << "final count: " << count << endl;
return count;
}
似乎无法弄清楚它为什么抱怨。错误如下所示:
间接需要指针操作数('int'无效) __table_.__insert_unique(*__first);
和
在函数模板特化的实例化中 'std::__1::unordered_map, std::__1::equal_to, std::__1::allocator >>::insert' 在这里请求 map.insert(A[i],i);
谁能解释一下这是怎么回事?
同样用这个编译:clang++ -stdlib=libc++ -std=gnu++11 workingpairs.cpp
【问题讨论】:
标签: c++ c++11 unordered-map