![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 26.01.2011
Сообщений: 10
|
![]()
Тут проблема заключается в первой строке функции RazbrasyvaemMassiv(), т.к. когда я закомменчиваю её, всё работает. Но я никак не пойму, что с ней не так: обычное объявление массива, ничем не отличается от массива ar[] в этой же программе. Мало того, когда я переношу эту же строку в главную функцию, она работает! Вот уж этого я точно не понимаю. Вывожу соутом size - это тоже работает. У кого есть идеи?
Код: Код:
Цитата:
Последний раз редактировалось Stilet; 08.03.2011 в 10:28. |
|
![]() |
![]() |
![]() |
#2 | |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]()
Проблема в том, что твой компилятор не соответствует стандарту и не поддерживает variable length array -- то есть массивы, размер которых не является констаной. Можешь заменить long size на const long size в объявлении функции или же сменить компилятор на более адекватный.
Цитата:
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
|
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Да ладно пугать то... Не все так плохо.
Чуть-чуть поправить типа такого: Код:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 26.01.2011
Сообщений: 10
|
![]()
Obey-Kun, да, ты прав, дело в константности сайза. Я, кстати, только что придумала довольно простое решение этой проблемулины: сделать эту переменную глобальной. До этого мне почему-то показалось, что "константность" переменной сохраняется при передаче из функции в функцию.
Stilet, по твоему коду пара вопросов появилась (просто я ещё не дошла до некоторых вещей, которые ты использовал): - что значит '*' возле int и ar? - new int[size] - это, похоже, извращённый способ создания массива? - delete[] ar; - из названия вроде ясно, но всё же подстрахуюсь.. - cin.get(); - Почему после cin стоит '.', а не '<<'? Если можно, по одному предложению, желательно на русском, а не очень уж на компьюьтерном)) Последний раз редактировалось CofeIn; 08.03.2011 в 11:05. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Читать про указатели и динамические массивы - вопросы отпадут сами собо.
|
![]() |
![]() |
![]() |
#6 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
||||
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]() Цитата:
upd// возможно так тоже не будет работать, тогда только динамический массив вам в помощь, вообще оно и понятно, ведь размер статического массива должен быть известен при компиляции Последний раз редактировалось onewho; 08.03.2011 в 13:03. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 26.01.2011
Сообщений: 10
|
![]()
Stilet, всё ясно, а '*' в "int* RazbrasyvaemMassiv" - это потому, что мы возвращаем переменную-указатель?
Кстати, тогда ещё вопрос: я попыталась вызвать из данной функции ещё одну функцию, и в ней создать массив, и при передаче у меня ничего не получилось. Потом я попробовала сделать всё так, как написали вы, и всё заработало. Коды есть во вложении, там и ошибочный вариант, и рабочий. Но у меня вопрос: почему надо делать указатели, почему нельзя или не получилось просто передать массив из одной функции в другую? onewho, почему плохо? Последний раз редактировалось Stilet; 08.03.2011 в 13:55. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
не то, чтобы глобальные данные плохи, но использовать их следует там - где это действительно необходимо, в вашем случае это излишне
|
![]() |
![]() |
![]() |
#10 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
![]() Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при компиляции | Banner | Помощь студентам | 2 | 20.02.2011 13:09 |
Ошибка при компиляции | DKENT | Общие вопросы Delphi | 4 | 10.09.2010 15:31 |
Ошибка при компиляции | 7B! | Общие вопросы .NET | 7 | 08.01.2010 13:11 |
Ошибка при компиляции | haste39 | Общие вопросы C/C++ | 4 | 13.11.2009 00:24 |