2017-03-01 5 views
0

私は、整数の配列を動的に割り当てるC++プログラムを持っています。下の最後の関数では、配列のスペースを割り当てる方法を見つけることができません。new int[*arrPtr];は、章の章を読んだ後に気にしていたものですが、正しくコンパイルされますが、プログラムがクラッシュします。誰でも自分のコードを見て正しい方向に向けることができますか?配列のためのスペースの割り当て

この件に関するお手伝いをいただき、誠にありがとうございます。

+1

int型* arrPtr = nullptrだ

new int[*arrPtr] 

ではありません。 * arrPtrは、アドレス0x0のメモリの内容を整数として解釈しようとします。このメモリはあなたのプログラムに属しておらず、OSはあなたのプログラムを無効にして無効なメモリを使用しようとしています。 – xaxxon

答えて

1

それは

arrPtr = new int[num]; //num is the size of the array. 
+2

..または単にstd :: vectorを使用する – xaxxon

+0

@xaxxon私は、ベクトルは再生するのがずっと面白いが、 'using namespace std;'という行には同意する。私はこのことが指針に関する教室での運動であると信じています。 – JGroven

+1

であってもよいし、単にテストケースを簡単にするためであってもよい。テストケースの構文に基づいて判断しないでください。可能な限り削除されるはずです。 – xaxxon

関連する問題