Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
liMagneto
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 11
#1

Константное значение и массивы - C++

16.02.2014, 12:11. Просмотров 618. Ответов 1
Метки нет (Все метки)

Здравствуйте. Не могли бы вы разъяснить мне, почему выходит ошибка "Выражение должно иметь константное значение".
Прилагаю фрагмент кода :
C++
1
2
3
4
5
6
7
    int n;
    cout << "Enter your limit" << endl;
    cin >> n;
    int size_array=n-2; //Размер массива уменьшаем на 2, так как первое наше число будет "2", "0" и "1" не считаем
    int array[size_array];
        for(int i=0; i<=size_array; i++)
        array[i] = i + 1;
В массиве array[size_array] программа упорно подчеркивает "size_array" красной линией. Собственно, пошуршав по интернету, я не смогла понять ничего. Спасибо за отклик.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 12:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Константное значение и массивы (C++):

Error: Выражение должно иметь константное значение - C++
struct SolderInfo { string rang; string name; int pn; }; using namespace std; int main() { int n;

Ошибка выражение должно иметь константное значение - C++
Всем привет. Тут такая песня началась забавная. Вообще для начала я хочу выделить очень важную для меня строку - никакого решения...

Выражение должно иметь константное значение. Нужно исправить - C++
#include &lt;iostream&gt; using namespace std; int main(){ int count_string, count_column,sum; cout &lt;&lt; &quot;Input count...

С2057:Требуется константное выражение - C++
При компиляции выдает ошибки: вот часть кода: int main(int argc, char* argv) { setlocale(LC_ALL, &quot;RUSSIAN&quot;); int t; ...

Как инициализровать константное поле класса в конструкторе? - C++
Здравствуйте. Такая проблема. Класс работает с множеством картинок одинакового разрешения. Размеры картинки должны храниться в полях...

Константное поле класса как размер массива - C++
class Array { private: const int size; int array; public: Array(): size(10) { }

1
0x10
2475 / 1648 / 247
Регистрация: 24.11.2012
Сообщений: 4,069
16.02.2014, 12:12 #2
В ошибке русским по белому написано, что размер массива должен быть константой. Если точнее, то константой времени компиляции. Если необходимо, чтобы размер массива определялся во время выполнения программы, используйте new для динамического выделения памяти.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2014, 12:12
Привет! Вот еще темы с ответами:

Error C1017: недопустимое константное выражение целого типа - C++
в общем был у меня такой код: ... #if numeric_limits&lt;T&gt;::is_integer typedef long long (Type); #else typedef long double...

Компилятор требует константное выражение при объявлении массива - C++
Имею некоторые проблемы. Спасибо за помощь #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;locale&gt; ...

Размер массива(error C2057: требуется константное выражение) - C++
int a; cout &lt;&lt; &quot;Inter number &quot;; cin &gt;&gt; a; const int size = a / 2; const int ar; error C2057: требуется константное...

Мое константное статическое поле только что было использовано до того как оно создалось? - C++
В названии темы уже понятно, думаю, что у меня за проблема. Я экспериментировал со статическими полями классов (в частности с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru