머리말 - 저는 C++ lambda를 좋아합니다. 가능한 한 모든 곳에서 사용할 것입니다.__stdcall을 사용하여 C++ 람다를 정규화하는 방법은 무엇입니까?
이제 람다 요구 사항이 생겼습니다. __stdcall 람다가 필요합니다. 하지만 다음과 같은 오류 메시지가 나타납니다.
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
아무도 도와 줄 수 있습니까? 난 그냥 당신이 visual studio 2010
태그가 발견
auto EnumWindowsProc =
[&](HWND hwnd, LPARAM lParam) mutable -> bool
{
return true;
};
EnumWindows(EnumWindowsProc, NULL);
기본 캡처 인'&'을 제거해보십시오. –
귀하의 의견에 감사드립니다. 나는 노력했지만 작동하지 않습니다. 나는 같은 오류 메시지가있어. – Triumphant
나는 서문에 동의하지 않는다 : lambas는 필요할 때만, 다른 모든 것처럼 사용해야한다. – Jepessen