【发布时间】:2014-05-04 17:32:27
【问题描述】:
我想在某个索引上添加联系人,但我不知道为什么这段代码不起作用。
我对这条线有疑问:
a = (*it);
还有这个:
tmp.push_back(listOf[a]);
这是代码:
void insert(list<Contact> &listOf, int index, const Contact &info) {
list<Contact> tmp;
int a;
for(list<Contact>::iterator it = listOf.begin(); it != listOf.end(); it++)
{
a = (*it);
if(a == index)
{
tmp.push_back(info);
index -= 2;
it--;
}
else
tmp.push_back(listOf[a]);
}
listOf = tmp;
}
我有名字和姓氏(字符串)的结构联系人。
也许只有这两行有问题?还是整个代码都错了?如果是的话,如果有人能给我一个解决方案,我会很高兴。
【问题讨论】:
-
*it是联系人类型,不是int -
(*it);产生Contact而不是int。要让索引使用单独的计数器。 -
您可能希望在程序中使用 std::vector 而不是 std::list。这将使您的生活变得更加轻松,因为您想在容器中使用索引做一些事情。
-
我必须用列表制作程序
-
第一条评论说明了一切..
标签: c++ list containers