C++:这个while循环有什么问题
C++: What is wrong with this while loop?
这是带有注释的相关问题代码
// right now hack=1 & i=4(both integers)
while(hack<i) //loop begins
{
hack++;
Linklist<node*> z=advancer(l);
//Linklist is my own class, node is my own object type
//l(type same as z) is predefined before the loop, and advancer is a function.
//Interestingly, l=advancer(l) doesnt work directly so i introduce z
//which i do not understand why.
l=z;
cout<<"print" //just to confirm code reaches here, Yes it does
}
//while loop doesnt execute again,checked by a cout statement in beginning.
因此,如果 while 循环到达最后一行,为什么不再次执行?C++有时会让我感到惊讶,但这是我见过的最令人惊奇的事情,而且我一无所知,因为这是非常基本的代码,似乎没有任何范围是错误的。请帮忙。各种可能的错误源将不胜感激。
我的实际程序太大(1000 行),所以我懒得提供其他功能的背景,因为我认为它不相关。我很想详细说明,如果这里有人可能是一个原因,并愿意倾听:)
我可以弄清楚的一件事是可能正在计算该函数,因此它在此期间执行了 cout,但这只是一个猜测。
您的代码正在未显示的其他地方做坏事。
C++当你犯错误时,不能保证错误会立即弹出,可能发生的事情(并且经常发生)是代码显然继续工作,但在另一个地方,代码是正确的行为似乎很疯狂。
while
有效,你应该尽快把它刻进你的大脑,否则你就不可能在编程方面走得更远。
不止这个...编译器工作,库工作,然后操作系统工作,RAM正常。该错误仅在您的代码中。这是唯一允许进步的心态。
有时,很少,您可以在编译器或广泛使用的库中找到错误,但只有当您能够准确找到错误是什么并且您可以生成错误明显发生的示例时,您才有权在其他人的代码中声明错误。
好书《实用程序员》中有一章是关于这种危险的心态的,这种心态真的会破坏你前进的可能性......标题为"select
没有坏
相关文章:
- 警告处理为错误这里有什么问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 违反const正确性:我应该现实地期待什么问题
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 我的逻辑反转字符串中的元音有什么问题?
- 需要以下代码的帮助,下面的代码有什么问题
- 常量公共成员有什么问题?
- 以下代码中的函数模板有什么问题?
- 这个返回元素位置的基于循环的函数有什么问题?
- creat_list2功能有什么问题?
- 格式说明符C++有什么问题
- 任何人都可以告诉我我的 C++ 代码出了什么问题?
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 我的堆栈和库存清单程序的结构有什么问题?
- 此工厂功能有什么问题?
- 以下 C++ 代码有什么问题?
- 数组为此合并排序函数提供了正确的输出,但向量给出了不正确的输出.出了什么问题?
- reinterpret_cast,只读访问,简单的可复制类型,会出什么问题?
- 它解决了什么问题,对于非真空初始化,生命周期在初始化之前就开始了