これは、問題を説明するための単純化されたコードです。
int *nums[10];
*nums[0] = 5;
cout << *nums[0] << endl;
コードはコンパイルされましたが、実行時に失敗します。だから私はこれを試しました:
int *nums[10];
*nums[1] = 5;
cout << *nums[1] << endl;
そしてそれはうまく印刷されます。配列が、通常の *nums[0] から *nums[10] ではなく、*nums[1] から *nums[10] に始まっていることがわかりました。Netbeans C/C++ コンパイラを使用している他の人に確認したところ、彼らのコンパイラは正常に動作します。特定のコンパイラ内で変更された設定があると思います。本来の方法で動作するように変更するにはどうすればよいですか?