配列サイズに関する「予期された定数式」エラーの解決
次の C コードを考えてみましょう。
<code class="cpp">int count = 0; float sum = 0; float maximum = -1000000; std::ifstream points; int size = 100; float x[size][2]; // <<< Error
これコードで配列 x を宣言すると、「予期された定数式」エラーが発生します。このエラーは、C ではコンパイル時に非静的配列のサイズを認識する必要があるために発生します。
ベクトルを使用した解決策
この問題を解決するには、C ベクトルを使用できます。配列の代わりに:
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
new を使用した解決策
もう 1 つのアプローチは、new 演算子を使用して配列を動的に割り当てることです:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
代替ソリューション
非 C 11 コンパイラーに関する考慮事項
C 11 をサポートしていない場合は、次の手法を使用します。
以上がC で配列を宣言するときに発生する「予期される定数式」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。