gpt4 book ai didi

c++ - 函数指针问题

转载 作者:行者123 更新时间:2023-11-28 02:55:24 24 4
gpt4 key购买 nike

我有一个简单的代码

class a{
public:
double (a::*fun)(const double &) const;
//
....
//
};

class b{
public:
a c1;
double f(const double & x) const{
return 0;
}

b(){
c1.fun = f;
}
};

这意味着类“a”必须与特定类型的函数一起工作,并且他的工作不依赖于该函数的实现(例如代数插值)。我想要类的参数 - 函数。但我有一些问题。编译器写入

不能将“int (b::)(const int &x) const”类型的值分配给“int (a::)(const int &) const”类型的实体

它是如何正确的?

最佳答案

double (a::*fun)(const double &) const 声明一个指向类 a 的成员函数的指针,它返回 double 并接收 const double&.

在您的示例中,您试图分配类 b 中定义的函数。这就是您收到错误的原因。

关于c++ - 函数指针问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22129073/

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