共有60个数:
for (iter_i = listNumber.begin(); iter_i != listNumber.end(); iter_i++)
{
if(!ISBIGNUMBER(*iter_i))
listNumber.erase(iter_i);
//listNumber.remove(*iter_i); 这两句都是错的?有错误提示
ATLTRACE("%d ,", *iter_i);
}erase和
remove
都不能删除成功。怎么办呢?
for (iter_i = listNumber.begin(); iter_i != listNumber.end(); iter_i++)
{
if(!ISBIGNUMBER(*iter_i))
listNumber.erase(iter_i);
//listNumber.remove(*iter_i); 这两句都是错的?有错误提示
ATLTRACE("%d ,", *iter_i);
}erase和
remove
都不能删除成功。怎么办呢?
for (iter_i = listNumber.begin(); iter_i != listNumber.end(); )
{
if(!ISBIGNUMBER(*iter_i))
listNumber.erase(iter_i++);
//listNumber.remove(*iter_i); 这两句都是错的?有错误提示
ATLTRACE("%d ,", *iter_i);
}
这样应该就可以了!
for (iter_i = listNumber.begin(); iter_i != listNumber.end(); )
{
if(!ISBIGNUMBER(*iter_i))
iter_i=listNumber.erase(iter_i);
else
iter_i++;
ATLTRACE("%d ,", *iter_i);
}注意枚举器的使用