2013-03-30 35 views
0

我有以下类:初始化与空函数静态数组值

class A 
{ 
public: 
    static void (*callbacks[6])(); 
}; 

,我需要初始化回调的所有值,为NULL。

这是怎么做的?

我曾尝试以下:

void (*)[6]() A::callbacks[6] = { 
    NULL, NULL, NULL, NULL, NULL, NULL 
}; 

但不工作

+0

什么是地狱,你想干什么? –

+0

@EdHeal这对你来说足够了。 :) –

+0

@EdHeal用NULL初始化类A中的所有回调值... –

回答

4

为您定义的语法是错误的。

变化

void (*)[6]() A::callbacks[6] 

void (*A::callbacks[6])() 
+0

+1用于'typedef'-less解决方案。 Anno我很难弄清楚这个语法。 – 2013-03-30 20:10:59

+0

@ H2CO3 **多年的练习**和我可以*通常*从记忆中完成。 :) –

+0

@ H2CO3 - 我感到遗憾的是,将维护此代码的人 –

1
typedef void(*T)(); 
T A::callbacks[6] = {NULL,NULL,NULL,NULL,NULL,NULL};