2016-10-24 9 views
0

私は、静的な3D配列200x200x200を作成する必要がありますが、私はこのコードに静的な3次元アレイ - セグメンテーションフォールト[C++]

int main() 
{ 
    int arr[200][200][200]; 
    return 0; 
} 

プログラムがクラッシュをコンパイルしようとします。デバッガを表示このエラー:

Program received signal SIGSEGV, Segmentation fault. 

誰もがこれを解決する方法のアイデアを持っていますか?

+1

例えば他の結果を見つけるために、一時的な結果を使用して、またはファイルに値を保存し、それらをロードし、より少ない数字を計算する必要別の解決策を探しますstack ... –

+0

これは静的ではないため、スタックに置かれます。 – RyanP

+1

スタックサイズはMBです。 http://stackoverflow.com/questions/27481707/maximum-stack-size-for-c-program –

答えて

0

スペースが不足しています:200 * 200 * 200 * 4(32ビットシステムのint)は〜32MBです。スタックにはそれほど多くの領域を割り当てることはできません。 Answer 1Answer 2

必要なときにサイズがにこの配列を置くには大きすぎる

+0

これは8GBではありません。 –

+0

編集ミスクリック – Hennio

+0

8 MBでもありません。 – user4581301

関連する問題