我想通過給類的成員函數作爲它的參數來調用外部函數(將函數作爲輸入)在類內部。我的代碼如下: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:「自我滿足」?什麼??儘量不要這麼粗魯,謝謝。 –
相當精確和最好的答案 –