台灣最大程式設計社群網站
線上人數
929
 
會員總數:244666
討論主題:188768
歡迎您免費加入會員
討論區列表 >> C/C++ >> 記憶體配置問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
記憶體配置問題
價值 : 50 QP  點閱數:166 回應數:6

樓主

play20217
門外漢
0 5
28 3
發送站內信

請問我在使用動態記憶體配置時
int ***miniMaxTree = new int** [10];
for (int i = 0 ; i < 10; i++){
miniMaxTree[i] = new int* [3000000];
for (int j = 0 ; j < 3000000; j++){
miniMaxTree[i][j] = new int[15];
}
}
上面的可以通過,但我需要配置15000000的空間就會爆掉,請問該怎麼解決?



搜尋相關Tags的文章: [ 動態記憶體配置問題 ] ,
本篇文章發表於2019-05-16 12:22
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
1500 萬 * 10 = 1億5000 萬
想不通為何要這樣大

有錯誤訊息嗎? 在那個地方報錯?
本篇文章回覆於2019-05-16 15:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

play20217
檢舉此回應
在minimax[i][j] = new int[15];這裡
錯誤訊息0x75861942 中 (於 Project1.exe) 發生未處理的例外狀況: Microsoft C++ 發生例外狀況: std::bad_alloc (記憶體位置 0x008FFAC4)。
因為我要建一棵minimax tree每一層都是6的level次方個節點。
本篇文章回覆於2019-05-16 16:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
15,000,000 x 15 x 10 x 4byte = 9,000,000,000 = 8.38G 記憶體
你家的記憶體是幾G啊?
而且32位元的不能超過2G.
本篇文章回覆於2019-05-16 20:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
要先解決這個問題,
可能先插個16或32G的記憶體再來跑看看...
本篇文章回覆於2019-05-16 20:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

P陳
檢舉此回應
參考看看
這篇文章有提到 記憶體問題
本篇文章回覆於2019-05-17 09:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

P陳
檢舉此回應
用以下關鍵字 網路上有很多方法, 請自行取用

【std::bad_alloc】
本篇文章回覆於2019-05-17 10:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.