Я пытаюсь вызвать внешнюю функцию (которая принимает функции как входы) внутри класса, предоставляя функции-члены класса как свои параметры. Мой код выглядит следующим образом:C++ вызов функции класса внутри другой функции
using namespace std;
// This is my external function
double integrate (double a, double b, int steps, double (*func)(double)){
// code for integration using function pointer
};
Class A
{
protected:
vector<double> to_data, from_data;
int data_size;
public:
A(); // constructor
double calculate_parameter(double t){
// some class member function that makes use of other class members
};
double get_result(double x){
double sum = 0;
for (int i=0;i<data_size;i++){
// this is basically what causes the error
sum = sum + integrate(to_data[i],from_data[i],1,calculate_parameter);
}
};
}
Однако, это показывает мне ошибку, что функция calculate_parameter не может быть преобразована. Я понял, как решить эту проблему, это изменить внешнюю функцию так, чтобы она также взяла объект класса. Есть ли способ сделать это без создания экземпляра нового объекта класса? Заранее спасибо!
Спасибо! Это сработало отлично! – AnotherCodingEnthusiast
@nurettin: «Самодовольство» ?? Какие?? Постарайтесь не быть таким грубым, спасибо. –
довольно точный и лучший ответ –