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

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

Войти
Регистрация
Восстановить пароль
 
saserlend
10 / 10 / 1
Регистрация: 25.11.2011
Сообщений: 139
#1

const int - C++

02.11.2013, 18:52. Просмотров 278. Ответов 4
Метки нет (Все метки)

При выводе в консоль переменные имеют рандомные значения, да и инициализированы они как 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];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2013, 18:52     const int
Посмотрите здесь:

Ошибка error C2446: '==' : no conversion from 'const char *' to 'int' C++
C++ Invalid conversion from `int' to `const char*'
C++ Преобразовать int в const int для установки размера массива
C++ int\ volatile int \ const int
int const и const int в чем разница этих записей C++
C++ error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
C++ в функцию передается параметр const int *
C++ [BCC32 Error] File1.cpp(74): E2285 Could not find a match for 'student1::student1(const char *,int,int)'
C++ Невозможно преобразовать параметр из int в const char
Int* const или const int*? C++
C++ Чем отличаются выражения (const int[]){value} от (const int[]){100}
Битовое представление int const C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2454 / 1626 / 238
Регистрация: 24.11.2012
Сообщений: 4,001
02.11.2013, 18:54     const int #2
Они должны быть константами времени компиляции, а не выполнения.
Max Dark
шКодер самоучка
1656 / 1457 / 527
Регистрация: 09.10.2013
Сообщений: 3,314
Записей в блоге: 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
Сообщений: 139
02.11.2013, 19:49  [ТС]     const int #5
Цитата Сообщение от scenotaph Посмотреть сообщение
Используйте динамические массивы
Меня изначально интересовало именно объявление массива рандомной размерности.
Yandex
Объявления
02.11.2013, 19:49     const int
Ответ Создать тему
Опции темы

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