将类函数指针分配给类结构成员

时间:2020-05-28 13:35:42

标签: c++ function-pointers

我上了这个课:

class Test
{
    public:
        int fnc(int a) {
        return a + 1;
    };
    struct {
        int(*fp)(int a);
    } s;
    void assign() { s.fp = &(this->fnc); } // <-- error here
};

但是我得到一个编译错误(VS2017)。错误是:

错误C2276'&':对绑定成员函数表达式的非法操作

我也尝试过不使用'&',但这只是警告我需要将其包括在内。 不可能吗?

注意:这是一个简化的示例,它说明了该问题。在这种情况下,我无法更改结构中的指针类型,因为该结构需要传递给驻留在用C编写的.lib文件中的第3方函数。我想要做的是使第3方lib调用我提供的位于类中的函数。

0 个答案:

没有答案