この float 配列宣言がある場合:
float tables[10];
「テーブル」配列の長さを 20 に変更するにはどうすればよいですか?
C++ の配列に関連する別の質問:
次のような配列を宣言することはできません。
int length=10;
float newTables[length]; // error C2133: 'newTables' : unknown size
前もって感謝します。
この float 配列宣言がある場合:
float tables[10];
「テーブル」配列の長さを 20 に変更するにはどうすればよいですか?
C++ の配列に関連する別の質問:
次のような配列を宣言することはできません。
int length=10;
float newTables[length]; // error C2133: 'newTables' : unknown size
前もって感謝します。
配列の長さは変更できません。C++ では、std::vector
動的配列にを使用する必要があります。
#include <vector>
int main() {
std::vector::size_type length = 10;
std::vector<float> tables(length); // create vector with 10 elements
tables.resize(20); // resize to 20 elemets
tables[15] = 12; // set element at index 15 to value 12
float x = tables[5]; // retrieve value at index 5
}
ビルド時に配列のサイズを適切に定義できる場合は、#define を使用できます
#DEFINE ARRAY_SIZE 20
float tables[ARRAY_SIZE];
または、実行時に配列のサイズを指定する必要がある場合は、 new を使用します
float* newtables;
newtables = new float[20];
C++ の配列は固定長です。純粋な配列に固執したい場合は、malloc 、 realloc 、および freeを使用してメモリを動的に割り当てる必要があります。ただし、動的メモリ割り当てにはstd::vectorまたはstd::dequeを優先する必要があります。
C++ でプログラムを実行している間、配列の長さを動的に変更することはできません。配列を宣言する方法については、次のことをお勧めします。
const int length=10;
float newTables[length];
それがあなたの望むものかどうかはわかりません。この場合、変数「長さ」は定数であり、実行中に変更することはできません。
お役に立てば幸いです。