Следующий фрагмент кода C ++ работает и прекрасно компилируется, например, на следующей платформе (не уверен, какой компилятор используется под капотом). Но разве размеры массивов не должны быть известны во время компиляции?
https://onlinegdb.com/H1qovLHGV
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int foo[(int) std::pow(3, 5)];
foo[2] = 0;
cout<<"Hello World " << foo[2] << endl;
return 0;
}