выражение должно иметь константное значение C++ - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос выражение должно иметь константное значение C++

Регистрация
22 Сен 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
void getet(int gett, const int size)
{
char arrr[size];
}

неполный код функции и имена не плавильные. Выдает ошибку "выражение должно иметь константное значение"
 
Регистрация
29 Сен 2013
Сообщения
62
Репутация
0
Спасибо
0
Монет
0
Массив в С++ нельзя задавать с неизвестным при компиляции значением. В С можно (и в некоторых, но не всех, расширениях C++).
 
Регистрация
19 Ноя 2013
Сообщения
88
Репутация
1
Спасибо
1
Монет
0
Константное значение - это значение, которое известно в этом месте кода в момент компиляции. Т. е. размер arrr должен определяться в момент компиляции, а не выполнения. В современном С (без плюсов) твой код выполнится, в С++ -нет (не знаю, как в последнем стандарте). Так что если нужен массив заранее неизвестного размера, то, как сказали выше, new / delete.
 
Регистрация
3 Сен 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
если const то оно наверно не может быть использована а потом инициализировано, в общем раз не пашет, значит где то наверно должна инициализирована переменная size где хрен знает или нужно const убрать просто, или делать size эту переменную динамической загугли динамический массив и то хрен знает как его в функции сделать и будет ли пахать. int num; // размер массива cout << "Enter integer value: "; cin >> num; // получение от пользователя размера массива int *p_darr = new int[num]; // Выделение памяти для массива delete [] p_darr; // вроде обязательно удалять если она уже не нужна или при выходе из программы.
 
Сверху Снизу