| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Как исправить ошибку? |
| Автор: rocky7 12.2.2009, 09:59 | ||||
Почему ругается компилятор?
Ниже привожу функцию
Модератор: Пользуйся кнопкой "Код" |
| Автор: andrew_121 12.2.2009, 10:09 |
| rocky7, По ходу, у Signal не перегужен operator=(T Signal). Смотри декларацию Signal. |
| Автор: rocky7 12.2.2009, 10:13 |
| Вот так у меня описан TSignal #ifndef tsignalH #define tsignalH #include "tmessage.h" class TSignal:virtual public TMess { protected: int len; short *str; int CarrierFreq; public: TSignal() // стандартный конструктор { len=0;str=0;CarrierFreq=0; } TSignal(int,int); //TSignal(int n,const short* c,int f):TMess(n,c),CarrierFreq(f) //{n=0;c=0;f=0;} TSignal(int,const short*); ~TSignal() // деструктор { delete[] str; } int& GetLen() { return len; } int& GetCarrierFreq() {return CarrierFreq;} short* GetStr() { return str; } TSignal& operator=(TSignal&); short& operator[](int); }; |
| Автор: Gluttton 12.2.2009, 10:32 | ||||
Ты создаешь переменную в функции local, которая в момент вызова функции будет расположена в стеке, по окончанию работы функции стек очиститься и у тебя вместо local функция будет возвращать какую-нибудь "арба-кадабру". to xvr, zim22 *мне стыдно* |
| Автор: xvr 12.2.2009, 12:29 | ||||||||
Вот это
2 Gluttton:
|
| Автор: rocky7 12.2.2009, 13:43 |
| Описал таким способом : TSignal& operator=(const TSignal&); Всё заработало!!! xvr, - респект!!! Буду дальше лопатить теорию. Учусь по книге Лафоре ООП на С++. |