gpt4 book ai didi

c++ - 错误 C2440 : '=' : cannot convert from

转载 作者:行者123 更新时间:2023-11-30 01:29:11 25 4
gpt4 key购买 nike

这次我的问题是将一个函数赋值给一个指向函数的指针。我有这样一个类:

class MyClass
{
private:
bool dofunction() {return true;}

protected:
bool (*ptf) ();

public:
MyClass();
};

MyClass::MyClass
{
ptf = dofunction; //// error
}

但是如果我在它编译的类之外使用一个函数:

bool function()
{
return true;
}

MyClass::MyClass()
{
ptf = function; //// OK
}

有什么帮助吗?


啊哈!!谢谢你

我使用了 static 关键字。

最佳答案

对于类成员函数你需要使用pointer to member functions :

bool (MyClass::*ptf) () ;

它应该被分配为,

ptf = &(MyClass::dofunction);

另请注意,现在您不能ptf 分配给非类函数。它是完全不同的类型(尽管语法看起来相同)。

关于c++ - 错误 C2440 : '=' : cannot convert from ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292293/

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