Re[3]: Указатель на нестатическую функцию в шаблонном классе
От: Hepri  
Дата: 29.08.10 09:21
Оценка:
Сделал так
#include <iostream>
using namespace std;

template <class Item>
class A {
public:
    typedef int (A<Item>::*Call_t)(Item);
    A(unsigned int flag) {        
        Call=GetFunc(flag);
    }

    int Add(Item Data) {
        return (*Call)(Data);
    }

    Call_t GetFunc(unsigned int flag) {
                return (flag & 1)
                    ? &A::_FuncA
                    : &A::_FuncB;
    }
    int _FuncA(Item Data){return 3;}
    int _FuncB(Item Data){return 5;}
    Call_t Call;
};

void main()
{
    A<int> x(1);
    cout<<x.Add(50);
}


Вылезает такая ошибка:
результатом вычисления фрагмента не является функция, принимающая 1 аргументов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.