Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 04:19   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию В конструкторе выделяется память под массив. Как быть с перегрузкой оператора = ?

Надо же заново выделять память

Код:
void operator = (clsASD Aa)
		{
			delete [] a;
                                 a=new int[123];
                                 ...
		}
Пишет после delete
Код HTML:
[BCC32 Error] main.cpp(103): E2294 Structure required on left side of . or .*
А а - это
int a*;
TwiX вне форума Ответить с цитированием
Старый 15.12.2009, 09:07   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

После delete или на той же строчке? По-моему, он ругается на что-то после приведенного вами кода!
Да, кстати, у вас же оператор = не является членом класса, и принимает только один аргумент. Нет такого унарного оператора!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 15.12.2009, 09:13   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Ругается именно на delete
TwiX вне форума Ответить с цитированием
Старый 15.12.2009, 09:13   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
delete [] a;
а если "a" не будет создан как delete на это среагирует?
Я бы там проверку a на NIL делал, и если не НИЛ то Делете
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2009, 09:27   #5
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Я тупил..
И правда на следующую строчку ругался.
А про нил пишет - такого символа нет.
TwiX вне форума Ответить с цитированием
Старый 15.12.2009, 09:35   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как "a" описана?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2009, 12:18   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

В C++ используется 0 или NULL ) И тогда нужно не забывать после каждого делете делать а = 0(NULL)
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка - память не может быть read volf Софт 31 20.08.2015 16:39
Как задать onClick в конструкторе? TwiX Общие вопросы Delphi 4 03.10.2009 20:39
Память, выделяемая под приложение. Altera Компоненты Delphi 4 30.11.2008 18:13
как отсортировать массив под данный отрезок и как минимум и максимум из него найти SIEGER Паскаль, Turbo Pascal, PascalABC.NET 1 20.11.2008 08:58
Память не может быть "read" Alewteena Безопасность, Шифрование 3 27.08.2008 05:16