清除临时列表而不清除我指定的位置

时间:2016-05-25 09:04:52

标签: c++

我有一个'Slate',它本质上是当前屏幕,在该屏幕中是“页面”,其中“项目”最多可容纳12个,因为这些都适合屏幕,所以我试过检查,一旦达到12项,创建一个新页面,但下面列出的代码只留下第1页或第2页中的项目

int pageItems = 0;    
std::list<item*> tempList;
page* temp = new page;  
for (std::list<item*>::iterator iter = items.begin(); iter != items.end(); ++iter)
{
    tempList.push_back((*iter));
    if (pageItems >= 13) {
        page_Count++;
        temp->items = tempList;
        pages.push_back(temp);
        tempList.clear();
        temp->items.clear();
        pageItems = 0;
    }
    pageItems++;
}

Page是一个包含std :: list的类,但是应该只处理12个,然后将创建一个新的页面,如果它超过12,则新的类 而slate是包含std :: list以及std :: list的类,第一项就是它更容易创建一个类,因为它最初没有页面,现在我只是将'items'提供给'pages '根据有多少给予板岩

1 个答案:

答案 0 :(得分:0)

我认为这是你的问题:

    temp->items.clear();

您似乎在将页面添加到页面列表

后清除该页面