[quote=引用 7 楼 Falleyes 的回复:] 你的形参应该是一个迭代器,那么你传入NULL应该是告诉函数不操作。 现在vs2008不允许NULL对迭代器赋值,那么你如果不想改形参的话,那就在实参传入上做文章。 如果你之前在函数中定义if(iter==NULL)return; 那么使用a.end()作为实参,只需要改成if(iter==a.end())return;即可。 因为a.end()指向最后一个元素之后,不指向这个容器a中的任何元素,就可以直接把元素操作和不做任何操作区分开来了。
你的形参应该是一个迭代器,那么你传入NULL应该是告诉函数不操作。 现在vs2008不允许NULL对迭代器赋值,那么你如果不想改形参的话,那就在实参传入上做文章。 如果你之前在函数中定义if(iter==NULL)return; 那么使用a.end()作为实参,只需要改成if(iter==a.end())return;即可。 因为a.end()指向最后一个元素之后,不指向这个容器a中的任何元素,就可以直接把元素操作和不做任何操作区分开来了。
[quote=引用 4 楼 Falleyes 的回复:] [quote=引用 3 楼 szjszj16 的回复:] [quote=引用 1 楼 tujiaw 的回复:] 不能把NULL赋值给迭代器 把迭代器改成int存储vector下标吧一样可以达到你的要求。
[quote=引用 3 楼 szjszj16 的回复:] [quote=引用 1 楼 tujiaw 的回复:] 不能把NULL赋值给迭代器 把迭代器改成int存储vector下标吧一样可以达到你的要求。
[quote=引用 1 楼 tujiaw 的回复:] 不能把NULL赋值给迭代器 把迭代器改成int存储vector下标吧一样可以达到你的要求。
不能把NULL赋值给迭代器 把迭代器改成int存储vector下标吧一样可以达到你的要求。
65,207
社区成员
250,517
社区内容
加载中
试试用AI创作助手写篇文章吧