【发布时间】:2010-07-05 16:09:56
【问题描述】:
我有以下代码。
#include <set>
#include <algorithm>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
typedef set<long> MySet;
MySet a;
for( int i = 0; i < 10; ++i)
{
a.insert(i);
}
MySet::iterator start,end,last;
start = a.begin();
end = a.end();
last = remove_if(start,end,bind2nd(less_equal<long>(),5));
return 0;
}
这在VS2005下用编译好。但是使用 VS2010 我得到以下错误:
错误 1 错误 C3892: '_Next' : 您不能分配给 const c:\program files\microsoft visual studio 10.0\vc\include\algorithm 的变量
如果我将容器设为矢量,一切都很好。
我猜我不知道的标准发生了一些变化,有人可以解释一下为什么这不再有效吗?
【问题讨论】:
标签: visual-studio-2010 visual-studio-2005 stl set