我偶然发现了这个网站:http ://www2.research.att.com/~bs/C++0xFAQ.html#lambda在那里他们解释了lambda 函数。我尝试使用提供的示例,即:
vector<int> indices( notImportantNumber );
int count = 0;
fill(indices.begin(), indices.end(), [&](){ return ++count; });
同样地
generate(indices.begin(), indices.end(), [&](){ return ++count; });
虽然,当我尝试使用带有填充的示例时,我不断收到此错误:
错误 1 错误 C2440:'=':无法从 'const `anonymous-namespace'::' 转换为 'long' c:\program files\microsoft visual studio 10.0\vc\include\xutility 2692
任何人都知道为什么会这样?在声明中std::fill()
没有函子作为最后一个参数。