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

точка останова - C++

Восстановить пароль Регистрация
 
guest43637
Сообщений: n/a
01.12.2011, 08:38     точка останова #1
Доброго времени суток!

Если не сложно, объясните в чем ошибка.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
const int size=15;
class base {
    int number; int *array;
    public:
        base(int n);
        void show() {cout<<"|"; for(int i=0;i<number;i++) cout<<array[i]<<"|"; cout<<endl;}
};
base::base(int n) {
    number=n;
    array=new int(n);
    for(int i=0;i<n;i++) cin>>array[i];
    cout<<endl;
}
int main() {
    cout<<"Enter array 1 elements:\n"; base ar1(size);
    cout<<"Array 1: "; ar1.show();
    cout<<"\n"; _getch(); return 0;
}
После компиляции и заполнения массива, и иногда и в середине заполнения вылетает с ошибкой:
"ОС Windows инициировала точку останова в test.exe.

Это может быть вызвано повреждением кучи и указывает на ошибку в test.exe или в одной из загруженных им DLL."
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 08:38     точка останова
Посмотрите здесь:

Точка останова с восклицательным знаком C++
C++ Точка останова
Условие останова C++
C++ При удалении указателя срабатывает точка останова
C++ Точка останова(повреждение кучи)
Не работает (?) точка останова C++
Невразумительная точка останова при выводе double C++
Точки останова вечно вылезают C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nnnnn
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 21
01.12.2011, 11:49     точка останова #2
Память под массив неправильно выделяешь. Нужно: array=new int[n];
А так array=new int(n); ты выделяешь память под один элемент и инициализируешь его n.
guest43637
Сообщений: n/a
02.12.2011, 16:42     точка останова #3
спасибо! теперь все работает нормально.
Yandex
Объявления
02.12.2011, 16:42     точка останова
Ответ Создать тему
Опции темы

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