классы функторов и binary_function
От: avia  
Дата: 07.04.03 15:27
Оценка:
Добрый день всем!
есть


class Class1 {
private:
        short m_Suit;
        short m_Size;
public:
    short Suit(void);
    short Size(void);
};

class SuitEQ2: public binary_function<Class1 ,short,bool> {
public:
    bool operator() (const Class1 & C,short  S) {
        return C.Suit()==S;
    }
};


Получаем

error C2662: 'Class1::Suit' : cannot convert 'this' pointer from 'const Class1' to 'Class1 &'

Почему ?
Re: классы функторов и binary_function
От: Анатолий Широков СССР  
Дата: 07.04.03 15:28
Оценка: 6 (1) +1
Здравствуйте, avia, Вы писали:

A>Добрый день всем!

A>есть
A>
A>

A>class Class1 {
A>private:
A>        short m_Suit;
A>        short m_Size;
A>public:
A>    short Suit(void) const;
A>    short Size(void) const;
A>};

A>
Re: классы функторов и binary_function
От: ssm Россия  
Дата: 07.04.03 15:29
Оценка:
Здравствуйте, avia, Вы писали:

A>
A>    bool operator() (const Class1 & C,short  S) const{
A>
Re: классы функторов и binary_function
От: Bell Россия  
Дата: 07.04.03 15:33
Оценка:
Здравствуйте, avia, Вы писали:

A>Добрый день всем!

A>есть
A>
A>

A>class Class1 {
A>private:
A>        short m_Suit;
A>        short m_Size;
A>public:
A>    short Suit(void)const;
A>    short Size(void)const;
A>};

A>
Любите книгу — источник знаний (с) М.Горький
Re: классы функторов и binary_function
От: dkon  
Дата: 07.04.03 15:39
Оценка:
Здравствуйте, avia, Вы писали:


A>Почему ?


потому что у const объектов нельзя вызывать не const функции-члены.
Re[2]: классы функторов и binary_function
От: ssm Россия  
Дата: 07.04.03 15:42
Оценка:
Здравствуйте, ssm, Вы писали:

ssm>Здравствуйте, avia, Вы писали:


A>>
A>>    bool operator() (const Class1 & C,short  S) const{
A>>


Обманываю но для дальнейшего использования этого функтора, тоже непомешает
Re[3]: классы функторов и binary_function
От: avia  
Дата: 07.04.03 15:54
Оценка:
Здравствуйте, ssm, Вы писали:


ssm>Обманываю но для дальнейшего использования этого функтора, тоже непомешает


Уже прочувствовал при реализации copy_if
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.