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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
#1

Ошибка Windows при запуске программы - C++

30.03.2009, 00:40. Просмотров 1543. Ответов 11
Метки нет (Все метки)

Есть задание, создать класс "полином" и несколько функций-членов. Задание выполнил, но в процессе выполнения программы Windows выдает ошибку:

Debug Error!
Program:....
DAMAGE:after normal block (#47) at 0x004900A0

Весь проект целиком прилагаю в архиве. Как избавиться от нее? Заранее спасибо.
Вложения
Тип файла: rar laba3.rar (1.24 Мб, 25 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lirik
2 / 2 / 0
Регистрация: 17.03.2009
Сообщений: 23
30.03.2009, 03:39     Ошибка Windows при запуске программы #2
скорее всего у вас что-то с компилятором , у меня все нормально откомпилировалось нормально, единственно что она у вас "пролетает" , добавте в конец функции main getch() или cin или что вам захочиться а каким компилятором вы пользуетесь ? борландовским ?
Вложения
Тип файла: rar Project2.rar (14.6 Кб, 11 просмотров)
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
30.03.2009, 03:46  [ТС]     Ошибка Windows при запуске программы #3
А как определить, каким компилятором я пользуюсь? И, кстати, мне не приходится добавлять ничего в конец main'a т.к. компилятор сам пишет press any key to continue
lirik
2 / 2 / 0
Регистрация: 17.03.2009
Сообщений: 23
30.03.2009, 04:34     Ошибка Windows при запуске программы #4
что то я не понял где у вас появляеться "press any key to continue" если у вас не доходя до конца программа выдает ошибку ?!
>А как определить, каким компилятором я пользуюсь?
вы для того что бы писать код какуето программу используете или в блокноте его пишите ? если в блокноте то к какому файлу вы через консоль подключаете файл с кодом программы , если нет то какой программой вы пользуетесь MS Visual C++ , Borland C++ Builder или чем либо другим ?
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
30.03.2009, 04:38  [ТС]     Ошибка Windows при запуске программы #5
У меня программа всегда выполняется до конца, а перед тем как выдать press any key, выдает ошибку. Если нажать пропустить, то появляется prees any key.

Пользуюсь MS VisualC++.
lirik
2 / 2 / 0
Регистрация: 17.03.2009
Сообщений: 23
30.03.2009, 04:51     Ошибка Windows при запуске программы #6
пробуйте отладчиком найти где у вас вылазиет ошибка, у меня она не вылазиет , так что помоч не могу
А вы эту программу сами писали ? Зачем такую простую программу ,так нестандартно писать ?
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
30.03.2009, 04:53  [ТС]     Ошибка Windows при запуске программы #7
Это задание по основам С++ в институте. Пока только начали изучать классы. Это пример для того, чтобы научиться с ними обращаться.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.03.2009, 11:45     Ошибка Windows при запуске программы #8
Ничего не могу понять, прога спотыкается на деструкторе - проверенно. Там у тебя
C++
1
    delete m_a;
, а должно быть по идеи
C++
1
    delete [] m_a;
, хотя это тож не помогает.
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
30.03.2009, 12:01  [ТС]     Ошибка Windows при запуске программы #9
Может проблемы в конструкторах? Они так создают динамические массивы, что их потом не удалить? Или что-нибудь в этом роде...
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
30.03.2009, 12:26     Ошибка Windows при запуске программы #10
Ты не предстваляешь как ты прав - таки нашел! Прога спотыкается не просто на деструкторе, а конкретно на деструкторе р2, причина всему этому как раз конструктор, а точнее объявление р2.

C++
1
2
3
4
5
6
7
8
9
10
11
int n=0;//<- ошибка здесь n не может быть нулевым
    double *a=0;
 
    Polynom p1;
    Polynom p2(n, a);// чтобы делать такое объявление "а" должен находится в 
//диапазоне разрешенных адресов, лучше заменить на "Polynom p2(n);", 
//а "double *a=0;" убрать
    p2.read(cin);
    p1.write(cout);
    p2.write(cout);
    cout<<endl;
Loki_xXx
0 / 0 / 0
Регистрация: 30.03.2009
Сообщений: 6
30.03.2009, 20:46  [ТС]     Ошибка Windows при запуске программы #11
Дело в том, что по заданию нужно использовать именно Polynom p2(n, a)

Можно ли как-нибудь изменить конструктор, чтобы все работало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2009, 11:37     Ошибка Windows при запуске программы
Еще ссылки по теме:
Ошибка при запуске программы C++
C++ Ошибка при запуске программы
C++ Вылетает ошибка при запуске программы
C++ CodeBlocks при запуске программы ошибка
Ошибка при запуске отладки программы C++

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

Или воспользуйтесь поиском по форуму:
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
31.03.2009, 11:37     Ошибка Windows при запуске программы #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const int n=7;// количество членов в многочлене
    double a[n];// массив коэффициентов для многочлена
    for (int j = 0; j < n; j++)
    {
        a[j] =j * j + 1;//количество членов и формула для коэффициентов
    }        // выбраны такие же как в конструкторе по умолчанию
 
    Polynom p1;
    Polynom p2(n, a);
    cout << "p1 po umolchaniyu" << endl;
    p1.write(cout);
    cout << "p2 s parametrami" << endl;
    p2.write(cout);// так как парамтры р2 такие же как и р1, результат должен быть одинаков
    p2.read(cin);
    cout << "p2 posle raboty funktsii \"read\"" << endl;
    p2.write(cout);
    cout<<endl;
    system("pause");
Yandex
Объявления
31.03.2009, 11:37     Ошибка Windows при запуске программы
Ответ Создать тему
Опции темы

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