[VB6 ] [問題] 在遞迴呼叫時,如何檢查堆疊是否已滿?

看板Visual_Basic作者 (ChiuCS)時間17年前 (2008/10/02 12:37), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
當程式中有遞迴呼叫,如果遞迴次數太高, 有可能堆疊會滿,造成程式直接中斷結束 這個問題,不知是否有可以防止的方法 目前都是記錄遞迴的深度(定值),來防止堆疊溢位. 可是這也不是很有效的防錯方式, 因為仍無法確定定義的深度可以保證可行 深度太低,資料處理沒完成,深度太高,又怕會"當" 想請問是否有何FUNCTION可以知道目前堆疊的狀態 以至於可以檢查出可用的遞迴深度 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.65.45

10/02 19:49, , 1F
Static Count As Integer: Count = Count + 1
10/02 19:49, 1F

10/02 19:50, , 2F
再限制 Count 的上限值
10/02 19:50, 2F

10/03 09:19, , 3F
我目前是用這個方式啦,我想是否有更SMART的方式,因為Count
10/03 09:19, 3F

10/03 09:20, , 4F
值這多易當,太少又會計算不完全,兩難
10/03 09:20, 4F
文章代碼(AID): #18v4_zcH (Visual_Basic)