Вот требования, предъявляемые моим приложением. У меня есть класс A, который принимает указатель на функцию, скажем, cFunc. По сути, в моей реализации A он вызывал cFunc несколько раз.
Сам указатель cFunc должен указывать на различные функции в зависимости от приложения. Таким образом, для каждого приложения я создаю класс с тем же определением функции, что и cFunc, однако я не могу назначить функцию-член класса этому указателю
class A {
typedef double (*Def_CFunc)(std::vector<double>);
A(Def_CFunc _cFunc) { // Some implementation}
// Other Functions
};
class B { double someFunc(std::vector<double> b); };
class C { double someOtherFunc(std::vector<double> a); };
int main () {
B firstObj;
C secondObj;
// Depending upon the situation, I want to select class B or C
double (*funcPointer)(std::vector<double>) = firstObj.someFunc; // Error in this line of code
A finalObj(funcPointer);
}
Так как мне сделать так, чтобы любой класс с функцией-членом данного формата мог использоваться для инициализации класса A?