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

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

Войти
Регистрация
Восстановить пароль
 
Leito87
Сообщений: n/a
#1

Проблема с константой! - C++

26.02.2012, 18:33. Просмотров 363. Ответов 2
Метки нет (Все метки)

Помогите додумать код,чтоб не было ошибки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    int &pbr = i;
    char st[64];
    cin >> st;
    for(i = 0;i<64;i++)
    {
        if(st[i] == '\0')
        {
            pbr = i;
            break;
        }
    }
    const int br = pbr;
    cout << br;
    char str[br];                            //Вот здесь ошибка "Выражение должно иметь констаное значение"
    system("pause");
    return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 18:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблема с константой! (C++):

Case с отрицательной константой - C++
switch (dir) { case 'С': case 'с': switch (cmd) { case '1': dir = 'З'; break; case '-1': dir = 'В'; ...

Поясните ошибку, связанную с константой. - C++
Делаю в VS 2012 #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; int main( int argc, char** argv ) { ...

Инициализация объекта строго константой - C++
Пишу class Class { private: const int *Int; public: Class(const int *b) { Int=b; } int get() { return *Int; } ...

Массивы C++. Ошибка: M должна быть константой - C++
Пытаюсь сделать массив, вот что вышло. Выбивает ошибку, что M должна быть константой (15 строка). Как это исправить? #include&lt;iostream&gt; ...

Как обычную переменную сделать константой - C++
Как можно константой сделать обычную переменную, а то хочу создать матрицу nxn а мне VS требует что бы n1 и n2 были константами, или как...

Определить массив, не указывая его размерность константой - C++
Дело в том, что хочу написать прогу для решения СЛАУ методом Зейделя и не могу определить массив не указывая его размерность константой.Два...

2
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.02.2012, 18:37 #2
там должна быть константа времени компиляции. т.е. либо явно написанное число вроде 10, 32 и т.п. либо гдето определенная константа.
в вашем случае массив нужно создавать динамически. т.к. так:
C++
1
2
3
char* str = new char[bf];
....
delete[] str; // нужно будет не забыть удалить выделенный массив.
А еще лучше пользоваться готовыми типами из stl: строки, вектора и прочее.
1
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,137
26.02.2012, 18:38 #3
Используй new/delete:
http://liveworkspace.org/code/b4fae3da574f26ad8eb0c0fd1d6ee5bb

Извиняюсь, опоздал.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 18:38
Привет! Вот еще темы с ответами:

Как обычную переменную на время сделать константой? - C++
Как обычную переменную на время сделать константой?

Вызов не константной функции, изменяющей свойства класса, из константой . Возможно? - C++
Сразу к делу: #include &lt;QCoreApplication&gt; class Base { public: Base(); virtual int DoSomething(const int&amp; var)...

Предупреждение: формат не является строковой константой, и не заданы аргументы форматирования - C++
Если не считать мусор, то всё работает правильно! Входные данные: 13:00 5 Li 13:15 Ka 14:00 lop 13:12 kir 15:54 jim 13:00 ...

Как в классе правильно объявить массив с константой в качестве размерности? - C++
Приветствую всех! Написал следующий код: Unit1.h class WireBare_Open { const int METAL_MAX; const int SECTION_MAX; ...


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

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

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