|
|
1
15
首先,使用操作符=()在迭代器上,而不是运算符上<():
第二,这是倒退:
使用迭代器执行某些操作,然后检查迭代器是否有效。相反,您应该首先检查它是否有效:
第四,这里有一个主要问题:
因为之前的检查,
所以现在如果你已经到了终点,你就停下来。 在修复之前的问题后,现在唯一的问题是:
这假定要跳过的字符实际上是一个空格。但是绳子的末端呢?使用以下字符串运行此函数:
但是,如果没有空间,它将崩溃,因为您已到达终点,正在跳过终点。若要修复,请添加一个检查:
您可能会注意到这似乎有很多冗余检查。这可以通过以下方式解决:
希望这有帮助! |
|
|
2
5
更改为
因此,如果第一个表达式为false,则不计算第二个表达式。
应该改成
|
|
|
3
0
因为在前面的while循环中,您的停止条件之一是:
如果它==句子.end(),那么*it='\n'将不会飞行 还有更多的错误,但正是这些错误导致了您当前的问题。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |