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

const int - C++

Восстановить пароль Регистрация
 
saserlend
10 / 10 / 1
Регистрация: 25.11.2011
Сообщений: 138
02.11.2013, 18:52     const int #1
При выводе в консоль переменные имеют рандомные значения, да и инициализированы они как const int , но в
C++
1
//bool bMass[iLenght][iWidth][iHight];
все равно требует чтобы значение было константным. Почему так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <time.h>
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    srand( (unsigned)time( NULL ) );
    const int *i = new int ( rand () % 10 + 1);
    const int *j = new int ( rand () % 10 + 1);
    const int *k = new int ( rand () % 10 + 1);
 
    const int iLenght = *i;
    const int iWidth = *j;
    const int iHight = *k;
 
    cout << iLenght << " " << iWidth << " " << iHight << endl;
    //bool bMass[iLenght][iWidth][iHight];
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
02.11.2013, 18:54     const int #2
Они должны быть константами времени компиляции, а не выполнения.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
02.11.2013, 18:56     const int #3
C++
1
new int ( rand () % 10 + 1)
имеет переменное значение и назначаюся во время исполнения
а константы должны быть определены воо время компиляции
как то так
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
02.11.2013, 18:57     const int #4
Потому что вы не можете задавать статический массив так.
И даже так
C++
1
2
3
int n;
cin>>n;
int array[n];
Разве что так
C++
1
2
const int n = 10;
int array[n]
Используйте динамические массивы
saserlend
10 / 10 / 1
Регистрация: 25.11.2011
Сообщений: 138
02.11.2013, 19:49  [ТС]     const int #5
Цитата Сообщение от scenotaph Посмотреть сообщение
Используйте динамические массивы
Меня изначально интересовало именно объявление массива рандомной размерности.
Yandex
Объявления
02.11.2013, 19:49     const int
Ответ Создать тему
Опции темы

Текущее время: 10:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru