gpt4 book ai didi

作为静态成员的 C++ 函数指针

转载 作者:可可西里 更新时间:2023-11-01 18:40:22 24 4
gpt4 key购买 nike

我想不出将函数指针声明为静态成员的语法。

#include <iostream>
using namespace std;

class A
{
static void (*cb)(int a, char c);
};

void A::*cb = NULL;

int main()
{
}

g++ 输出错误“无法声明指向‘void’成员的指针”。我假设我需要用括号做一些事情,但是 void A::(*cb) = NULL 也不起作用。

最佳答案

我引入了一个 typedef,这在我看来更清晰了:

class A
{
typedef void (*FPTR)(int a, char c);

static FPTR cb;
};

A::FPTR A::cb = NULL;

关于作为静态成员的 C++ 函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1560176/

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