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

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

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

Проблемой при создании массива через переменную - C++

15.06.2013, 23:54. Просмотров 321. Ответов 3
Метки нет (Все метки)

На C++ столкнулся с проблемой при создании массива через переменную.
Таким образом: int list[i][j];
i,j - переменные типа int
на CodeBlocks все прошло без проблем (компилятор MinGW).
на Microsoft Visual C++ получил на это 3 ошибки:
1> error C2057: требуется константное выражение
2> error C2466: невозможно выделить память для массива постоянного нулевого размера
3> error C2133: k: неизвестный размер

Вопрос, каким образом тогда можно для Visual C++ массивы заранее неизвестной длины? Разумеется на момент объявления массива в коде переменные i и j имеют числовые значения целых чисел int
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2013, 23:54     Проблемой при создании массива через переменную
Посмотрите здесь:

Ругается new при создании динамического массива через перегруженный конструктор - C++
Перегрузил конструктор: class Library { public: Library(void) //конструктор библиотеки без заданного типа { ...

Конструктор при создании через [] - C++
Как написать конструктор для класса при создании таким видом: class Array { private: int size; int* arr; public: .... ...

Ошибка при создании массива - C++
Не пойму в чем ошибка... Подскажите пожалуйста. void CreatMas(int *m) { int st,stlb; scanf("%d",&st); scanf("%d",&stlb); ...

ошибка при создании массива - C++
задача такая, методом перебора найти первое простое десятизначное значение дробной части е (эпсилон). для простоты решил не вычислять...

Использование переменной в качестве аргумента при создании файла через ofstream - C++
Рассмотрите пожалуйста следующий код, он работает: /*! Тут насколько я понимаю, мы разбираемся с именем создаваемого\открываемого файла ...

Ошибка при создании динамического массива. - C++
Все доброго времени. Начал создавать одномерный массив, потом решил его преобразовать в динамический одномерный. Понимаю что...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
16.06.2013, 00:24     Проблемой при создании массива через переменную #2
Динамически
C++
1
2
3
int** list = new int[i];
for (int count=0;count<i;count++)
    list[count]=new int[j];
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
16.06.2013, 00:30     Проблемой при создании массива через переменную #3
Цитата Сообщение от Demon007006 Посмотреть сообщение
Вопрос, каким образом тогда можно для Visual C++ массивы заранее неизвестной длины? Разумеется на момент объявления массива в коде переменные i и j имеют числовые значения целых чисел int
По стандарту, размер массива должен быть известен во время компиляции.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 01:08     Проблемой при создании массива через переменную
Еще ссылки по теме:

Ошибка при создании нового массива - C++
Задача: Дан одномерный массив чисел, среди элементов которого есть одинаковые. Создать новый массив из различных элементов исходного...

Ошибка при создании массива большого размера - C++
Массив int m; выдает ошибку Винды в чем дела? с 5 9-ми все нормально Добавлено через 19 минут точнее выше 519999 выдает ошибку при...

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

Размер массива при создании экземпляра класса - C++
Нет возможности использовать динамически выделяемую память под массив. Используется в микроконтроллерах, память в обрез и компилятор глючит...


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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,486
Записей в блоге: 4
16.06.2013, 01:08     Проблемой при создании массива через переменную #4
Для статических массивов (судя по тому что компилятор говорит, Вы это делаете), - константным тоже:
при одновременной инициализации списком, можно не указать левый индекс:
const int r=4;
int f[][r]={{1,2,3,0}, {4,5,6,0}, {7,8,9,10}};
Иначе оба должны быть заданы.
Yandex
Объявления
16.06.2013, 01:08     Проблемой при создании массива через переменную
Ответ Создать тему
Опции темы

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