Verwenden von const int als Arraygröße

Warum kann ich ein lokal deklariertes @ verwendeconst int als die Größe einer Array-Deklaration, aber mit einem @ darf man nicht dasselbe machconst int als Argument übergeben?

Zum Beispiel: Warum erhalte ich im folgenden Code Compiler-Fehler nur in Zeile 2?

void f1(const int dim){
  int nums[dim];  // line 2: errors
}

void f2(){
  const int dim = 5;
  int nums[dim];  // ok
}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage