gpt4 book ai didi

c++ - 函数指针默认为 NULL 吗?

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

在下面的类中,这是否意味着 onPaintCallback 为 NULL,或者我必须在类构造函数中将其设为 NULL?我想在为它提供有效指针之前开始检查 NULL。

class AguiWidgetBase
{
virtual void onPaint();
void (*onPaintCallback)(AguiRectangle clientRect) = 0;
public:
AguiWidgetBase(void);
~AguiWidgetBase(void);
};

最佳答案

你拥有的是不合法的。你必须在构造函数中初始化它:

AguiWidgetBase::AguiWidgetBase() :
onPaintCallback(0)
{}

你可以使用 boost::function<void(AguiRectangle)> ,除了更灵活之外,它还正确地将自身初始化为 null。你可以这样检查:

if (f)
// ...

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

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