首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS 2013中的C++ 11 lambda回调不会编译

VS 2013中的C++ 11 lambda回调不会编译
EN

Stack Overflow用户
提问于 2015-11-20 11:11:42
回答 1查看 193关注 0票数 0

我不明白为什么下面的代码不能在VS 2013中编译。编译器只是抱怨如下,我不知道如何修复它:

e:\work\justtest\console\console.cpp(37):C2664 C2664:'bool dfsFolder(const wchar_t *,const wchar_t *,std::function &)‘:无法将参数3从“main:”转换为“std::wchar_t&”

代码语言:javascript
复制
bool dfsFolder(__in const wchar_t* folderPath, __in const wchar_t* ext, const std::function<bool(const std::wstring& wsFilePath)>& pFunc)
{

}

int main()
{
        auto path = LR"(F:\TODOWNLOAD\)";
        auto lambda = [&](const std::wstring& wsFilePath) mutable -> bool
        {
            wcout << wsFilePath << endl;
            return true;
        };
        dfsFolder(path, L"*.jpg", lambda);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-20 13:24:02

错误消息似乎与代码不匹配:最后一个参数是std::function<...> const&,而不是错误中所述的std::function<...>&。您的实际代码是否将std::function<...>&参数声明为const

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33825254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档