c – 如何使用std :: ref?
发布时间:2020-12-16 03:04:55 所属栏目:百科 来源:网络整理
导读:使用std :: ref的正确方法是什么?我尝试以下代码在VS2010,它不编译: #include vector#include algorithm#include iostream#include functionalusing namespace std;struct IsEven{ bool operator()(int n) { if(n % 2 == 0) { evens.push_back(n); return
使用std :: ref的正确方法是什么?我尝试以下代码在VS2010,它不编译:
#include <vector> #include <algorithm> #include <iostream> #include <functional> using namespace std; struct IsEven { bool operator()(int n) { if(n % 2 == 0) { evens.push_back(n); return false; } return true; } vector<int> evens; }; int main(int argc,char **argv) { vector<int> v; for(int i = 0; i < 10; ++i) { v.push_back(i); } IsEven f; vector<int>::iterator newEnd = remove_if(v.begin(),v.end(),std::ref(f)); return 0; } 错误:
再加一些… 解决方法
在Visual C 10.0执行std :: ref中有一个错误或一组错误.
据报导,Visual C 11已被修复;看我的earlier question about it. 微软的STL回答说:“我们已经解决了这个问题,修复程序将在VC11 RTM中提供(但是,修复程序没有进入VC11 Beta版本).” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |