Re: Указатель на нестатическую функцию в шаблонном классе
От: Мишень-сан  
Дата: 29.08.10 08:40
Оценка:
Здравствуйте, Hepri, Вы писали:


H>Есть класс, содержащий две функции и указатель на функцию такого типа.

H>Нужна чтобы этот указатель ссылался на одну из функций в зависимости от условия.

H>Делаю так, но не выходит

H>
H>template <class Item>
H>class A {
H>public:
      typedef int (*A::Call_t)(Item);
H>    A(unsigned int flag) {
H>        Call=GetFunc(flag);
H>    }
    
H>    int Add(Item Data) {
H>        return (*Call)(Data);
H>    }
    
H>    Call_t GetFunc(unsigned int flag) {
                return flag & 1
                    ? &A::_FuncA
                    : &A::_FuncB;
H>    }
H>    int _FuncA(Item Data){return 0;}
H>    int _FuncB(Item Data){return 1;}
        Call_t Call;
H>}
H>


H>В чём ошибка?


Как-то так. В С++ нет автоматического захвата контекста, а следовательно нет и встроенных делегатов. Если нужны замыкания, посмотрите в сторону boost.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.