У меня есть код, который инициализирует массивы, в частности C-строки, с использованием переменных. Например...
int len = getLength();
char cstr[len+1] = {'\0'};
Это компилируется и безупречно работает в моем коде. Однако, когда один из моих коллег запускает тот же код, он получает ошибку компилятора...
Объект переменного размера не может быть инициализирован
Мы оба используем Ubuntu и GCC/G++. Мы сравнили флаги компилятора и оба используем --std=c++11
. Все остальные флаги тоже одинаковые (-Wall
, -Wextra
и -g
).
Почему этот код работает только на моем компьютере, а не на его? Как я могу заставить его работать?