原来学一个写法,在LINUX上没问题,到了WINDOWS又出错了。

  还好当时学了一个正确写法。今天分享出来:

 

MAP:

    std::list<ValueItem*>::iterator iter;
    while (!list.empty())
    {
        iter = list.begin();
        release((*iter)); //清理其数据
        list.erase(iter);
    }

LIST:

    std::list<ValueItem*>::iterator iter;
    while (!list.empty())
    {
        iter = list.begin();
        release((*iter));
        list.erase(iter);
    }