class hgg  
{
public:
hgg();
virtual ~hgg();
static const int a[10] ={1,2,1,2,1,2,1,2,1,2};///报错
};
如何给a 初始化,不考虑用for,因为是大批量的已只数据,整理好了的,想通过{}这样的形式直接赋值.
有什么办法.

解决方案 »

  1.   

    静态成员在类外初始化class   hgg     

    public: 
    hgg(); 
    virtual   ~hgg(); 
    static   const   int   a[10];
    }; const   int   hgg::a[10] ={1,2,1,2,1,2,1,2,1,2};
      

  2.   

    class       hgg           
    {   
    public:   
    hgg();   
    virtual       ~hgg();   
    static       const       int       a[10]; 
    };   const       int       hgg::a[10]   ={1,2,1,2,1,2,1,2,1,2};
    //////////////////////////////////////////////
    这样初始化是行的通的
    但是在别的头文件一 包含这个类的头文件就报连接错误, 静态成员已定义
    LNK2005: "public: static int const (* CodeLib::CLUSTERS)[929]" (?CLUSTERS@CodeLib@@2QAY0DKB@$$CBHA) already defined in pdf417View.obj不知道静态成员的初始化有什么规范没有?
      

  3.   

    const int hgg::a[10] = {1,2,1,2,1,2,1,2,1,2}; 
    当然要扔到cpp里面写啦……