用c 11lambda提升线程
发布时间:2020-12-16 09:56:10 所属栏目:百科 来源:网络整理
导读:如何在C 11 lambda中使用boost螺纹? 以下代码不起作用: int sum;m_workerThread=new boost::thread([]() { for(int i=0;i100;i++) { sum=sum+i; } } ); 我收到编译错误. Error 4 error C3493: 'sum' cannot be implicitly captured because no default cap
如何在C 11 lambda中使用boost螺纹?
以下代码不起作用: int sum; m_workerThread=new boost::thread([]() { for(int i=0;i<100;i++) { sum=sum+i; } } ); 我收到编译错误. Error 4 error C3493: 'sum' cannot be implicitly captured because no default capture mode has been specified 我怎样才能解决这个问题? 解决方法
根据错误,只需要捕获总和.原样,lambda不知道总和是多少:
m_workerThread = new boost::thread([&sum]() // ^^^^ { for(int i=0;i<100;i++) { sum=sum+i; } } ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- PostgreSQL 实现MySQL "insert ignore" 语法。
- ruby-on-rails – Capybara :: ElementNotFound:无法找到c
- C++LinkDeQueue
- ruby-on-rails – Rails:Psych,从0.1.4更新libyaml
- reactjs – react-native组件生命周期方法不会在导航上触发
- c# – 使用Linq to XML创建响应xml的命名空间问题
- [VB.NET Tips]对于基本数据类型的提示
- c# – 如何阻止或拦截对Directory.Delete的调用(path,true)
- XCode-Project文件.pbxproj – 如何在Version Control中处理
- ajax的全局事件