So möchte ich ein Array in einer Funktion mit der Größe durch eine Zahl als Parameter festgelegt werden. Hier ist ein Beispiel:Erstellen Sie ein Array in einer Funktion in C++ ohne eine globale Variable
void temp_arr (const int array_size) {
int temp_arr[array_size]; //ERROR array_size needs to be a constant value
//Then do something with the temp arr
}
Auch wenn der Parameter ein const int ist, wird es nicht funktionieren. Ich möchte kein globales const benutzen und nicht Vektoren benutzen. Ich bin nur neugierig, wie ich C++ lerne. Ich möchte dafür sorgen, dass die Array-Größe bei jedem Aufruf der Funktion unterschiedlich ist. Gibt es eine Lösung für dieses oder bin ich eine const-Variable und das Array vor dem Aufruf der Funktion zu erstellen?
'int * temp_arr = new int [ARRAY_SIZE]; ... löschen [] temp_arr; ' – songyuanyao
@songyuanyao Das ist nicht wirklich dasselbe, da es von der statischen Zuweisung zur dynamischen Zuweisung gehen würde. – user2296177
* und keine Vektoren verwenden. Ich bin nur neugierig, wie ich C++ lerne.* - Sie denken also, dass 'std :: vector' nicht C++ ist? Was ist mit "Vektor", warum so viele Anfänger denken, dass sie es nicht benutzen sollten oder können? – PaulMcKenzie