繁体   English   中英

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

[英]C++ function pointer as a static member

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

#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;
void (*A::cb)(int a, char c) = NULL;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM