在类定义内定义静态数组有关问题

在类定义内定义静态数组问题
VC2003,在类定义时,由于此时并没有此类的实例,因此在类定义内不能对成员变量赋值,如
class   Cxxx
{
public:
    int   a;     //   不能为int   a   =   1;
}
若想此时赋值,须加为静态变量,即
static   int   a   =   1;
但是如果要在类定义时声明一个数组,我用如下语句
static   int   a[2]   =   {1,   2};
则编译不能通过。
请教各位原因和解决方案。特别的,我这个a[2]需要为const,所以不能采取这里声明,后面再赋值的办法。

------解决方案--------------------
static int a[2];
到cpp文件里写
int Cxxx::a[2] = {1, 2};

------解决方案--------------------
class Cxxx
{
public:
static int a[2]; // 不能为int a = 1;
};

int Cxxx::a[2]={1,2};
------解决方案--------------------
类定义的写法
只是指出了初始化的值,未实际分配内存
需类定义的外部给出定义
------解决方案--------------------
类中给static成员赋值,实际上只是指定了一个值,并没有分配实际的空间。
必须到.cpp中的一开始给静态数据成员初始化——根据你的需要。