C++: Why does int array[size] work?
arrays, automation, c++, dynamic
Solution
Probably you are using GCC compiler, it has an extension called Arrays of Variable Length.
std::vector is the real dynamic arrays in C++.
To select this standard in GCC, use the option -std=c++11; to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings).
Problem
I have started learning c++. I read that an array's size can only be set before run and dymanic arrays can be set during runtime. So I was expecting this to fail but it didn't: ``` #include <iostream> int main() { using namespace std; int size; cout << "enter array size:"; cin >> size; int i, score[size], max; //array size set to variable doesn't fail cout << endl << "enter scores:\n"; cin >> score[0]; max = score[0]; for (i = 1; i < size; i++) { cin >> score[i]; if (score[i] > max) max = score[i]; } cout << "the highest score is " << max << endl; return 0; } ``` Is this a new feature in recent C++ compilers? Is it realising I need a dynamic array and creating that instead?