【发布时间】:2013-07-16 20:31:40
【问题描述】:
前言——我喜欢 C++ lambda,如果可能的话,我会在任何地方使用它。
现在我有一个 lambda 要求,我需要一个 __stdcall lambda。但我收到以下错误消息:
error C2664: 'EnumWindows' : cannot convert parameter 1 from '`anonymous-namespace'::<lambda1>' to 'WNDENUMPROC'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
有人可以帮助我吗? 这是我的代码(EnumWindowsProc 在函数范围内):
auto EnumWindowsProc =
[&](HWND hwnd, LPARAM lParam) mutable -> bool
{
return true;
};
EnumWindows(EnumWindowsProc, NULL);
【问题讨论】:
-
尝试删除默认捕获
&。 -
感谢您的评论。我试过了,它不起作用。我得到了同样的错误信息。
-
我不同意你的前言:lambas 应该只在需要时使用,就像其他一切一样。
标签: c++ windows visual-studio-2010 c++11 lambda