1
我一直在擺弄lambda表達式以瞭解它們如何工作,但遇到了問題。我一直在試圖弄清楚我做錯了什麼,但似乎無法做到。編譯器只是拒絕接受這個簡單的例子:C++ 11 lambda表達式問題(vs2012更新1)
int a = 2;
std::vector<int> vv(10);
vv[2]=2;
std::count(vv.begin(), vv.end(), [&a](int z) { return a == z; });
我得到的錯誤
Error 1 error C2678: binary '==' : no operator found
which takes a left-hand operand of type 'int' (or there is no
acceptable conversion) e:\program files (x86)\microsoft visual studio
11.0\vc\include\xutility 3243
我在做什麼錯?
'count'需要一個值來比較。 'count_if'採取謂詞.... – ildjarn