lambda 强制转换支持 stdcall 函数指针

auto enumFunc = [] (HWND hwnd, LPARAM lparam) {  
        wstring sbuf(1024,L'\0');
        if(GetWindowText(hwnd, &sbuf[0], 1024)>0)
        {
            MessageBox(0,sbuf.c_str(),L"enum",0);
        }
        return TRUE;  
    };
    EnumWindows(static_cast<BOOL (__stdcall *)(HWND,LPARAM)>(enumFunc)
        , 0); 

[&](){} 这样的引用只能 是cdcel调用,不能转为stdcall

posted on 2014-05-12 10:23  单行道的转角  阅读(1093)  评论(0编辑  收藏  举报

导航