我有這樣的代碼:Unordered_map有indrection需要指針操作
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,性病:: __ 1 :: equal_to, 的std :: __ 1個::分配器>> ::插入',這裏要求 地圖的實例.insert(A [I],i)的;
任何人都可以解釋我最近怎麼回事?
也是用這個編譯:鐺++ -stdlib = libc的++ -std = GNU ++ 11 workingpairs.cpp
這工作。謝謝! – jshah