当调用者在堆栈中更高时,这意味着什么?例如,假设我启动一个程序,一个表单加载(我们称之为a),然后这个表单调用另一个表单(b).被调用的表单将位于堆栈的顶部,因此如果这个表单称为表单a,那么这是一个调用者更高的堆栈调用下面的东西吗?
谢谢
我认为你对调用堆栈有错误的印象.call stach只是已调用函数的"列表".当你有一个你所描述的调用链,一个调用b的调用,你的堆栈只是:
a.second b.first a.first
你无法真正称之为"失败".你进行另一次调用,它会进入堆栈顶部,即使之前已经调用过,前一个调用完全不同,新调用会启动一个全新的"堆栈帧".