我在 header 中声明了一个函数指针,如下所示:
typedef void (intCB)(int );
我有一个这样声明的类(class)成员:
private:
intCB m_intCB;
在构造函数的初始化列表中,我想将其初始化为0:
MyClass::MyClass : m_intCB(0)
{
#ifdef SOMETHING
m_intCB = &someOtherFunc;
#endif
}
仅在有特定定义的情况下,我才要将m_intCB设置为它,否则,我想将其保持为0。上面代码的问题是我收到了:
error C2436: 'm_intCB' : member function or nested class in constructor initializer list
我该如何解决?
最佳答案
那不是函数指针,您缺少*
。尝试:
typedef void (*intCB)(int);
关于c++ - 错误C2436成员函数或构造函数初始化器列表中的嵌套类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5880715/