![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Elen123321 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2011 Где: Беларусь Репутация: нет Всего: нет |
Необработанное исключение NullReferenceException. Ссылка на объект не указывает на экземпляр класса.
Описание класса:
Form.h
Среда vs2010, windows forms. Не могу понять в чем загвоздка: или объект не создается, или удаляется до вызова конструктора с параметрами. Не уверена, что правильно приравниваю массивы. В описании класса создаю массивы через указатели, в неуправляемой куче что ли, а в Form.h массивы в стеке. Добавлено @ 23:41 i 0 int - nominals 0x00000000 int* *nominals 0 int - this 0x003AE54C { nominals=0x00000000 amountNom=0x7646CFBE givenNomNow=0x003AE5A0 } CBankom* - amountNom 0x7646CFBE int* *(*this).amountNom -1957298293 int - givenNomNow 0x003AE5A0 int* *(*this).givenNomNow 29907348 int - nominals 0x00000000 int* *(*this).nominals 0 int Это сообщение отредактировал(а) Elen123321 - 18.4.2014, 23:43 |
||||||
|
|||||||
Elen123321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2011 Где: Беларусь Репутация: нет Всего: нет |
Если меняю значения, элементов массива получается
Необработанное исключение типа "System.AccessViolationException" произошло в bankomat.exe Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Толку от этой надежды, если ниже Вы пишете так: (кстати, где конструктор копирования?) Если Вам просто нужно переустановить значения массивов для уже созданного экземпляра класса, то в класс можно ввести соответствующую функцию, например
Вы же в конструкторе массивы не аллокировали (в отличие от CBankom ()). И вызов конструктора вида CBankom::CBankom (Nominals, Kol, GivenN) просто создаст новый (временный) экземпляр класса (с неаллокированными массивами!!!). Куда там изначально указывают мусорные значения полей вновь созданного экземпляра класса, одному Богу известно. Записывать или читать по этим неинициализированным указателям категорически нельзя. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Elen123321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2011 Где: Беларусь Репутация: нет Всего: нет |
через RunBankom.Set( Nominals, Kol, GivenN) получилось. Спасибо. Нужно теперь разобраться, как значения массивов Nominals, Kol из файла достать Только вот... Debug assertion failed http://s1.ipicture.ru/uploads/20140419/Vjdy6bTs.jpg |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну так:
Зачем здесь цикл по i? Какой смысл? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Elen123321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.11.2011 Где: Беларусь Репутация: нет Всего: нет |
И правда) не знаю, как скоро бы я обратила на это внимание)
Спасибо Это сообщение отредактировал(а) Elen123321 - 20.4.2014, 00:21 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |