Re[2]: работа с указателями
Hello Zeram,
Thursday, May 31, 2007, 3:53:21 PM, you wrote:
Z> Deni_S пишет:
>> Hello comp,
>>
>> объявляю собственный тип данных
>>
>> typedef CArray < Act, Act > Acti;
>>
>> Act - структура. Потом в классе делаю экземпляры этого типа
>>
>> Acti myAct;
>> Acti myAct2;
>>
>> В некоторых случаях в функцию
>>
>> BOOL Load(Acti& curRecAct)
>>
>> передаю myAct, в некоторых myAct2. Работает нормально. Но если сделать в классе
>> объявление
>> Acti& tmpAct; и попытаться присвоить этому tmpAct=myAct, компилятор ругается,
>> подстановка
>> амперсанда в разные места ничего не дает. Что делать?
>>
Z> Правильно ругается, т.к. у класса CArray не перегружен
Z> CArray<X, X>& operator = (CArray<X, X>&)
Теперь компилятор ругается по другому.
template<class TYPE, class ARG_TYPE>
class CMyArray : public CArray< Act, Act >
{
public:
CArray <Act, Act>& operator = (CArray <Act, Act>&);
};
typedef CMyArray < Act, Act > Acti;
struct CSetPtrRec{
CSetPtrRec();
Acti& tmpRec;
CMyUIntArray& arCoorMous;
}
А компилятор в ответ: error C2758: 'tmpRec' : must be initialized in constructor
base/member initializer list
see declaration of 'tmpRec'
и указывает на конструктор
CSetPtrRec::CSetPtrRec()
{
}