Преобразовать переменную int в const int
Из функции было получено значение int поля, с помощью ссылки в параметрах, теперь мне нужно создать массив с размером значения int поля. Как преобразовать int в const int
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вы не поняли сакральный смысл const int при объявлении массива. Важна не константность (неизменяемость во время выполнения) этого размера, а его известность во время компиляции, т.е. по сути это не const, а constexpr.
Поэтому массив надо создавать динамически:
int n;
// Получение значения n
double * а = new double[n];
// Работа с массивом a
delete[] a; // Освобождение выделенной памяти
а так, конечно, никто не мешает написать
const int m = n;
и это будет работать. Только вот использовать m как размер массива - не получится.