也许有一个花哨的术语。可以说我有这个代码:
void a(){
b();
}
void b(){
c();
}
void c(){
a();
// do something
if (FLAG_COMPLETE){
return;
}
}
问题是它会继续 a->b->c->a->b->c 直到 FLAG_COMPLETE 上升。之后它将通过所有这些电话按顺序追溯。有没有办法避免被调用者返回调用者函数?我知道在组装中这很容易做到。
我正在使用 C++ CLI。我想通过循环调用函数来避免堆栈溢出。