用c++编写的一个程序运行的时候出现:“0x00425ee2”指令引用的“0xdddddddd”内存,该内存不能为read。

2024-12-15 18:07:41
推荐回答(2个)
回答1:

while(cin>>word)
会导致一直要求输入单词,而且停不下来 cin>> 的返回值是istream&,这个东西不会是0或者null吧

另外,如果++iter已经是end()了 是不可以做*(++iter)的 判断句可以改为while((iter+1)!=str.end())

回答2:

if(*iter==*(++iter))
问题出在这句上吧,当iter指向了vector的end的前一个的时候,++iter已经指向了end,而end的内容是vector下一个可使用但是还未使用的空间,所以发生的空指针引用。