I\'m not a C++ expert, but as far as I know this code should fail due to size not being constant:
size
#include using namespace std;
Here is a list of new features in C99 which adds variable length arrays.
Also see $6.7.6.2/4 Array declarators of N1548(ISO/IEC 9899:201x Committee Draft — December 2, 2010 N1548) which details it.