gpt4 book ai didi

c++ - 将成员函数作为参数传递给其他成员函数 (C++ 11 )

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:47 27 4
gpt4 key购买 nike

<分区>

假设我有一个包含三个成员函数的类,如下所示:

#include <iostream>
#include <functional>

class ClassName
{
public:
double add(double a, double b);
double intermediate(double a, double b, std::function<double (double,double)> func);
double combiner(double a, double b);
};

double ClassName::add(double a, double b)
{
return a+b;
}

double ClassName::intermediate(double a, double b, std::function<double (double,double)> func)
{
return func(a, b);
}

double ClassName::combiner(double a, double b)
{
return intermediate(a, b, add);
}

int main()
{
ClassName OBJ;
std::cout << OBJ.combiner(12, 10);
}

我想做的是将成员函数“add”传递给成员函数“intermediate”,然后由“combiner”调用。但是,我不认为我使用了正确的语法,因为当我尝试编译它时,我收到一条错误消息“非标准语法;使用‘&’创建指向成员的指针。”我不太确定出了什么问题,因为如果这些函数不是类中的成员函数(只是命名空间中定义的常规函数​​),则此方法可以完美运行。 那么是否可以将一个成员函数传递给另一个成员函数呢?

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