我正在制作一个使用该std::generate_n
功能的程序。我可以让它与数组一起正常工作,但我不知道如何使它与列表容器一起工作。这是我所拥有的:
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
int current = 0;
int UniqueNumber () { return ++current; }
int main ()
{
list<int> L;
list<int>::iterator it;
generate_n (L.begin(), 9, UniqueNumber);
cout << "list contains:";
for (it=L.begin(); it!=L.end(); ++it)
cout << ' ' << *it << '\n';
return 0;
}
输出仅显示“列表包含:”,之后没有任何内容。我知道我的输出循环功能正确,因为我使用 insert() 方法手动尝试了它,所以问题出在 generate_n 函数上。我想我传递的论点是错误的。有谁知道我做了什么?