我正在编写使用列表的简单程序.我已经创建了包含其所有功能的列表,但现在我想将其转换为STL.我已经成功地完成了一些我的功能但是我坚持使用一个应该添加新元素并且还删除用户选择的元素.
那是我的代码:
list <Komputer> lista_komputerow_STL;
list <Komputer>::iterator it;
///This should add an element:
lista_komputerow_STL.push_back(Komputer(nazwa));
///This should remove chosen element:
int element;
for(int i=0;i<(element-1);i++)
{it++;}
lista_komputerow_STL.erase(it);
Run Code Online (Sandbox Code Playgroud)
我是STL的新手,现在对我来说似乎很重要,但我希望在你的帮助下我能得到它.
您必须初始化迭代器:
list <Komputer>::iterator it = lista_komputerow_STL.begin();
Run Code Online (Sandbox Code Playgroud)
所选择的内容element也没有初始化,我认为你的for语句应该是:
int element = 0;
for(int i=0; i<element; i++) // Without the '-1'
...
Run Code Online (Sandbox Code Playgroud)
我建议使用std::advance移位迭代器而不是for循环:
std::advance(it, element);
Run Code Online (Sandbox Code Playgroud)
但你可以看一个基本的例子,让我知道你有没有得到的东西......