在c++里面,struct和class差不多,只不过struct的默认是public,而class是private。
你在struct里面有一个const的成员变量没有办法初始化,而编译器也没有办法帮你合成,const嘛,当然不能乱付值了,所以,呵呵。这是我的一孔之见,大家一起探讨了。

解决方案 »

  1.   

    f a常量怎么没有赋值啊const int t=1; :)
      

  2.   

    对呀,CONST 后的变量一定要赋值
      

  3.   

    在类里面不行,要么写成这样class A{
     const int a;
    };A::A():a(0)
    {
    ...
    }
      

  4.   

    const 变理一定要有初设,但在类里面不能给成员变量赋值(C++规范?),据说某些编译器可以(没见过。)只能唯一的通过上述方法初设它。
      

  5.   

    const int t=1; 是不行的.
    Erlin和liu_feng_fly有点对.
    用struct不行吗?只能用class这样A::A():a(0)吗?
      

  6.   

    用struct和class是一样的。
    struct mystr
    {
       const int t;
       mystr():t(0) {}
    };struct mystr a;
      

  7.   

    struct 和 class都可以--给点分吧,也让咱上上专家榜,好久没上过了,谢谢!
      

  8.   

     azuo_lee() 回复于2001-9-6 15:29:06   
    用struct和class是一样的。
    struct mystr
    {
      const int t;
      mystr():t(0) {}
    };struct mystr a;  
    回答有理,但是struct mystr是别人定义好了的结构,我不能改,怎么办?
      

  9.   

    去找他,这是设计上的错误,const类型的变量怎么能不初始化呢
      

  10.   

    typedef struct _mystr
    {
     const int i;
    }mystr;mystr a;
    试试