我是C++和STL的新手.这里有一些我不明白的东西:
class Foo
{
public:
void operator()(int& bar) { std::cout << bar << std::endl; }
};
int main(int ac, char* av[])
{
std::vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
std::for_each(v.begin(), v.end(), Foo); // Invalid argument Foo
Foo foo;
std::for_each(v.begin(), v.end(), foo); // Valid argument foo
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么第一次尝试会产生无效参数错误?非常感谢你!
归档时间: |
|
查看次数: |
735 次 |
最近记录: |