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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
#1

Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer" - C++

05.07.2014, 15:27. Просмотров 2380. Ответов 4
Метки нет (Все метки)

В конце программы выскакивает окно с ошибкой - "CRT detected that the application wrote to memory after end of heap buffer"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Myclass
{
private:
    char* name;
public:
    Myclass() {   name = new char[];   }
    ~Myclass() {   delete [] name;    }
 
    friend ostream &operator << (ostream& os, Myclass& m) {
        os << m.name;
            return os;
    }
    friend istream &operator >> (istream& is, Myclass& m) {
        is >> m.name;
            return is;
    }
};
 
int main()
{
    Myclass workers[10];
 
    for(int i(0); i < 10; i++)
    {
        cout << i << " worker's name: "; cin >> workers[i];
    }
 
    for(int i(0); i < 10; i++)
    {
        cout << i << " worker's name: " << workers[i] << endl;
    }
При закомментировании деструктора с delete [] - все работает.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2014, 15:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка с delete [] - "CRT detected that the application wrote to memory after end of heap buffer" (C++):

Ошибка: CRT detected that the application wrote to memory after end of heap buffer - C++
После заполнения структуры, из консоли, появляется ошибка об утечке памяти. Объясните, пожалуйста, где я допустил оплошность? ...

Crt detected that the application wrote to memory after end of heap buffer - C++
#include &lt;iostream&gt; using namespace std; class Vector { private: int size; double *vector; public: Vector() {

CRT detected that the application wrote to memory after end of heap buffer - C++
Программа добавляет и удаляет строки и столбцы динамического массива, но если сначала удалить что-то, а потом добавить то выскакивает такая...

CRT detected that the application wrote to memory before start of heap buffer - C++
эта ошибка из-за того, что я потом дополняю массив макс+1 элементом? и как можно исправить? #include&lt;iostream&gt; #include&lt;iomanip&gt; ...

Ошибка исполнения "Heap corruption detected" - C++
Задача следующая (из книги С. Прата, глава 12): Усовершенствуйте обновление класса String следующим образом: а. Перегрузите операцию +...

Ошибка "heap corruption detected" - C++
поидее проблема с освобождением памяти, но вот не могу понять где :( подскажите пожалуйста в чем может быть проблема. #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13228 / 7500 / 845
Регистрация: 27.09.2012
Сообщений: 18,423
Записей в блоге: 3
Завершенные тесты: 1
05.07.2014, 15:29 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
name = new char[];
сколько выделили?
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
05.07.2014, 18:28  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
сколько выделили?
Благодарю. Очень глупая ошибка...
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.07.2014, 19:40 #4
C++
1
new char[];
Если это скомпилировалось, то 99.99%, что код написан под MS-компилятор.
Не понимаю, зачем они разрешили такую запись.
1
007imran007
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 83
06.07.2014, 12:12  [ТС] #5
Цитата Сообщение от Tulosba Посмотреть сообщение
код написан под MS-компилятор
Вы правы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2014, 12:12
Привет! Вот еще темы с ответами:

Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" - C++
Не могу понять почему значение ChoiceOfPlayer меняется и почему NumberOfRow и NumberOfColumn всегда последние значение цикла. Помогите...

Heap Corruption Detected в листинге 19.6 из книги "Освой с++ за 21 день" - C++
MS Visual Studio 2010 Если заполнять элементы i,, - проблемы нет, если i,,, - heap corruption detected after normal block (#130),at...

Найти причины возникновения ошибки "heap corruption detected after normal block #331" и исправить эту ошибку - C++
добрый день,нужна ваша помощь. при выводе массива выдает такую ошибку &quot;heap corruption detected after normal block #331&quot;, подскажите где...

"Heap corruption detected" - C++
Написал класс вектор. В перегруженном операторе &gt;&gt; возникает ошибка: HEAP CORRUPTION DETECTED: after Normal block(#332) at 0x004B3518. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.07.2014, 12:12
Ответ Создать тему
Опции темы

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