Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
1

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку

25.09.2008, 22:33. Показов 2243. Ответов 8
Метки нет (Все метки)

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку


Добавлено через 1 минуту 35 секунд
как исправить ошибки в названии темы?
там должно было быть исполняемого файла
0
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2008, 22:33
Ответы с готовыми решениями:

Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C
Подскажите почему программа выдает ошибку при первом запуске, а дальше работает нормально?...

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

Не работает программа при запуске в Windows через командную строку
Дали задание скомпилить cmake под Linux. Там все получилось. Как доп.задание дали перенести и...

Программа работает, но при выводе определенной комбинации выдает ошибку
Помогите начинающему программисту :) Программа работает, но если ввести все непростые числа, то...

8
Эксперт С++
2250 / 765 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
25.09.2008, 22:40 2
У тебя где-то ошибка в распределении памяти. Про ассерты подробнее прочитай,документация где-то бывает. (встречал ASSERT_VALID ?вот это одна из таких штук =) ) А так,проверяй код.

Добавлено через 52 секунды
поправил заголовок
0
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
25.09.2008, 23:02  [ТС] 3
эмпирическим путём установленно что её вызывает строка delete[] neuro::inputs;
300 раз она выполняеться, а после вылезает ошибка.
????????????????????? это может помочь расследованию?

Добавлено через 4 минуты 53 секунды
а как же мне быть???????? неужели мелкомягкие бросили меня, и даже не хотят указать мне место кода, после которого выполнение прекращается??????????????????????
0
Эксперт С++
2250 / 765 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
25.09.2008, 23:03 4
Цитата Сообщение от Beliy_shum Посмотреть сообщение
это может помочь расследованию?
Расставим точки над "i". Расследуешь ты я так даже кода в глаза не видел. В любом случае,настоятельно рекомендую поковыряться. Это интересно и полезно. Ошибка вряд ли фатальная(в том смысле,что таки ошибки часто легко правятся)

p.s вот лично я уверен,что оператор delete должен вызываться столько же раз,сколько оператор new.
0
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
25.09.2008, 23:27  [ТС] 5
если чесна я не понимаю как мне расследовать.........
по моим представлениям результат действия не зависит от количества повторов этого действия...... канечно можно спорить со мной, но суть не в том.

вот сейчас я интуитивно нашёл место которое вызывает ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*delete neuro::inputs;
    delete neuro::neurons;
    delete neuro::outputs;
 
    neuro::inputs = new double[inputs_count];
    neuro::neurons = new double[neurons_count];
    neuro::outputs = new double[outputs_count];
    
    delete neuro::input_weights;
    delete neuro::weights;
    delete neuro::output_weights;
    
    neuro::input_weights = new double[inputs_count*neurons_count];
    neuro::weights = new double[neurons_count*neurons_count];
    neuro::output_weights = new double[neurons_count*outputs_count];*/
и избавился от него. немного изменил код что без этого действия уже можно обойтись.

эта функция у меня в программе вызывается много много раз.......

всё началось с того что функция была такая -
C++
1
2
3
4
5
6
7
    neuro::inputs = new double[inputs_count];
    neuro::neurons = new double[neurons_count];
    neuro::outputs = new double[outputs_count];
    
    neuro::input_weights = new double[inputs_count*neurons_count];
    neuro::weights = new double[neurons_count*neurons_count];
    neuro::output_weights = new double[neurons_count*outputs_count];
соответственно она жрала память(я забыл возвращать её)

я её изменил на выше указанную и получил ошибку(((((


и я могу эту ошибку находить только интуитивным путём, или что ещё хуже - эмпирическим...
вот скажи мне теперь я нашёл ошибку или нет? теперь моя прога работает.
0
Эксперт С++
2250 / 765 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
25.09.2008, 23:36 6
вызывай delete [] neuro::inputs;
и аналогично для остальных.
0
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
25.09.2008, 23:44  [ТС] 7
я пробовал оба варианта синтаксиса - delete [] neuro::inputs;
и delete neuro::inputs;
ошибка не уходит(не уходила)

Добавлено через 1 минуту 18 секунд
собстна сейчас ошибки нет, но я всё больше уверяюсь в том что программирование сродни шаманским пляскам с бубном. такиеже отсутсвующие причинно-следственные связи
0
Эксперт С++
2250 / 765 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
26.09.2008, 00:11 8
Цитата Сообщение от Beliy_shum Посмотреть сообщение
я всё больше уверяюсь в том что программирование сродни шаманским пляскам с бубном. такиеже отсутсвующие причинно-следственные связи
... ошибаешься,ошибаешься,ошибаешься. Если ты не видишь связи,- не значит,что ее нет.(вот только не вспоминайте суслика ). Иногда это все действительно похоже на что-то безумное. Но это только так кажется... (Все эти гневные слова про тупую машину,про то,что "у меня все правильно",а не работает.эх...)
0
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
26.09.2008, 13:19  [ТС] 9
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
... ошибаешься,ошибаешься,ошибаешься. Если ты не видишь связи,- не значит,что ее нет.(вот только не вспоминайте суслика ). Иногда это все действительно похоже на что-то безумное. Но это только так кажется...
канечно же это мне так только КАЖЕТСЯ что связи нет.....
но эта всязь не мной создана и у меня нет инструментария эту связь убрать, кроме интуитивного или шаманского программирования....
в этот раз получилось, а что вседующий раз мне мелкомягкие предложат?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2008, 13:19

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

При запуске программы содержимое файла, с которым она работает, обнуляется
Я хочу сделать программу, которая будет записывать данные в файл а потом, при следующем запуске,...

При запуске компиляци выдает ошибка
При запуске компиляци выдает ошибка, не удается найти указанный файл? подскажите пж, как исправить...

Создал программу Вычислятор. Но при запуске выдает сбой!
Помогите найти логические ошибки! Я новичок учусь вторую неделю. #include <iostream> #include...

При запуске выдает expression stream !=null; что делать?
задача такая: написать прогу, которая будет решать систему линейных уравнений методом гаусса....


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

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

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