gpt4 book ai didi

c++ - 在类中将函数作为参数传递

转载 作者:行者123 更新时间:2023-11-28 01:14:17 26 4
gpt4 key购买 nike

<分区>

我在 C++ 中将函数作为参数传递时遇到问题。我在这里重新创建了一个最小的工作示例:

#include <iostream>
using namespace std;

void print(const double &func(double)) {
cout << func(1) << endl;
}

class Obj {
public:
double MyFunction(double x);
void PrintFunction();
};

void Obj::PrintFunction(){
print(MyFunction);
}

double Obj::MyFunction(double x) {
return x + 1;
}

int main() {
Obj object;
object.PrintFunction();
}

整体结构在这种情况下看起来很奇怪,但在完整代码中更有意义(具体来说,我理想地寻找不涉及重构函数所有权的解决方案)。编译时出现错误 error: invalid use of non-static member function double Obj::MyFunction(double),这表明我调用 print(MyFunction) 的方式有问题。我有一个粗略的理解,MyFunction 不能被自己调用,但是再多的指针、引用等的包含,也没有成功让代码编译。我应该如何正确调用 MyFunction

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com