есть:
typedef double (*FuncGetParam)(int i,int j);
// некий класс, содержащий указатель на функцию
class A
{
public :
FuncGetParam func; // указатель на функцию
double getParam(int i, int j);
};
// это произвольный класс
class B
{
public :
double getParam(int i, int j);
};
// это произвольная функция...
double freeGetParam(int i, int j)
{
return 1.0;
}
надо сделать так, чтобы чтобы можно было присвоить указатель на произвольную функцию (совпадающую по передаваемым параметрам и возвращаемому результату), которая может быть как в самом классе "A", в другом классе "B", а может быть и просто отдельной функцией!
{
A a;
B b;
// надо, чтобы все эти варианты могли работать
A.func = a.getParam;
A.func = b.getParam;
A.func = freeGetParam;
}
в С++ Builder это делается определением функции вот таким способом:
typedef double (__closure *FuncGetParam)(int i,int j);
ключевое слово — "__closure"
как такое же сделать в Visual C++ ?????
если стандартными способами это не делается, покажите, как реализовать нестандартными...
большой сенк!