请问(*iter)++是错误的原因

kevinsu917 2011-07-23 10:50:37
vector<string>::iterator iter;
(*iter)++;

错的原因是不是:因为iter所指向的对象是string型的。。不可以自加1
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinsu917 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pathuang68 的回复:]

引用楼主 kevinsu917 的回复:
vector<string>::iterator iter;
(*iter)++;

错的原因是不是:因为iter所指向的对象是string型的。。不可以自加1


楼主实际上是不是要iter++?
iter++是指向下一个元素,(*iter)++是把iter所指向的元素加1
[/Quote]

这个题目是我做题的时候看的,这样写是不对的!我想问的是原因
pathuang68 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 kevinsu917 的回复:]
vector<string>::iterator iter;
(*iter)++;

错的原因是不是:因为iter所指向的对象是string型的。。不可以自加1
[/Quote]

楼主实际上是不是要iter++?
iter++是指向下一个元素,(*iter)++是把iter所指向的元素加1
Lactoferrin 2011-07-23
  • 打赏
  • 举报
回复
你用的全角括号
__lhy 2011-07-23
  • 打赏
  • 举报
回复
加个*就是取里面的值了
vector<int> some;
some.push_back(3);
vector<int>::iterator it=some.begin();
*it就是3
string同理
c_losed 2011-07-23
  • 打赏
  • 举报
回复

vector<string>::iterator iter;
iter++;
pengzhixi 2011-07-23
  • 打赏
  • 举报
回复
string没有重载自增操作符
KWDIWT 2011-07-23
  • 打赏
  • 举报
回复
string str;

str++;//没有重载后置自增

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧