gpt4 book ai didi

c++ - 获取指向基类的 protected 成员函数的函数指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:04 25 4
gpt4 key购买 nike

我有一个公开基类的 protected 成员函数的类。有没有办法获取指向公开函数的函数指针?

class B
{
protected:
void foo() {}
};

class D : protected B
{
public:
using B::foo;
};


void(D::*test)() = &D::foo; // error C2248: 'B::foo' : cannot access protected member declared in class 'D'

最佳答案

这有点尴尬,但如果你不能改变原始类,你可以创建一个派生类来让你访问:

struct E : D {
static void (D::*fooPtr())() { return &D::foo; }
};

void(D::*test)() = E::fooPtr();

关于c++ - 获取指向基类的 protected 成员函数的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938937/

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