トラブルシューティング: 配列宣言の構文エラー
宣言された変数から配列を作成しようとすると、次のエラーが発生する場合があります:
expression must have a constant value
このエラーは、C の配列には定数式が必要であるために発生します。
エラーの解決
このエラーを解決するには、次の 2 つのオプションがあります。
動的配列では、ヒープにメモリを割り当てることで可変サイズが可能です。ただし、new 演算子と delete 演算子を使用して、このメモリの割り当てと割り当て解除を手動で行う必要があります:
// Allocate the array int** arr = new int*[row]; for (int i = 0; i < row; i++) arr[i] = new int[col];
// Use the array // ... // Deallocate the array for (int i = 0; i < row; i++) delete[] arr[i]; delete[] arr;
固定サイズの配列を維持するには、次のように次元を宣言する必要があります。 constant:
const int row = 8; const int col = 8; int arr[row][col];
注意
指定した構文 int [row][col]; は、変数名を指定していないため、正しくありません。配列。
以上がC で配列を宣言する際の「式には定数値が必要です」という構文エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。