Этот код:
#include <iostream>
using namespace std;
int main()
{
int num;
int people[ num ];
cout << people[ 0 ];
cin >> num;
}
выдаст ошибку (фактически предупреждение) в g ++, если используется флаг -pedantic
. Предупреждение:
ISO C++ forbids variable length array 'people'
что правильно. Использование массивов переменной длины является расширением GCC, которое отключено -pedantic
. Обратите внимание, что успешная компиляция с -std=whatever
не гарантирует, что ваш код соответствует этому стандарту - флаг - std
используется для включения функций, а не их отключения.