我在.h文件里:    Public:
        CString m_strArr[]={"abc","efg","want"};为什么老说我这里出错呀?我记得是可以这样子的啊,我该怎么办?

解决方案 »

  1.   

    头文件中声明变量的同时不允许赋值,你这样当然会出错了:)
    你可以在CPP文件中对该变量赋值!
      

  2.   

    在.h里你只能:CString m_strArr[3];
    然后在.cpp文件里m_strArr[]={"abc","efg","want"};
    或者直接在.cpp文件里CString m_strArr[]={"abc","efg","want"};
      

  3.   

    public:
    int  x = 3;
    也是错的.
      

  4.   

    在构造函数中:m_strArr[0] = "abc";
    m_strArr[1] = "efg";
    m_strArr[2] = "want";
      

  5.   

    纠正我刚才的错误,
    -----------------------------------------------
    在.h里你只能:CString m_strArr[3];
    然后在.cpp文件里m_strArr[]={"abc","efg","want"};
    或者直接在.cpp文件里CString m_strArr[]={"abc","efg","want"};
    -----------------------------------------------------
    其中:
    在.h里你只能:CString m_strArr[3];
    然后在.cpp文件里m_strArr[]={"abc","efg","want"};
    也是错的,不可以对指针进行赋值
    直接在.cpp文件里CString m_strArr[]={"abc","efg","want"};
      

  6.   

    m_strArr都还没有被实例化,也就是没有在内存中占有一席之地,你把这3个字符串的指针放哪里去阿?要么变成全局的再初始化,要么在构造函数中初始化。
      

  7.   

    如果在类中定义CString m_strArr[3];
    那在.cpp中初始化时:
    m_strArr[0]="dfd";
    ..
      

  8.   

    我数组的大小为90个,数据都不一样。总不能让我一个一个地初始吧,老大...?????
    那你这么写是什么意思?
    CString m_strArr[]={"abc","efg","want"};这不是对数组初始是干什么?
    你这不也是一个个罗列的嘛?晕倒如果你不这样
    完全可以CString m_strArr[90];至于以后怎么样我都不管
    我是要让你明白
    只有m_strArr有了内存空间,才能放东东
    只要不违反这个规则,你怎么做管我什么事?
    我都说了这么详细了,还不理解精髓
    你要我咋样啊,老大?
      

  9.   

    你在别的类中要用到
    那么要么你传一个这个类的实例指针给另一个类,然后在那个类中这样引用pInstance->m_strArr[0]
    要么就是把它变成全局的
    就是static CString m_strArr[90];
    然后在.cpp中初始化static CString class::m_strArr[]={"asdf","wer",....};
    然后在别的类中class.m_strArr[0]来引用
      

  10.   

    在.cpp中CString 前的static要不要加已经记不清了
    工作后就没有用过C++了
    但是这些都是小事,只要一编译就知道怎么做了
    关键是要把握编译器的原理和机制
    还有就是内存中的结构,只要记住这两点,学什么语言都一样,出错了,也能想到是什么原因
    汇编层的基础还是很有必要的
    建议看深度探索c++对象模型
      

  11.   

    既然90个数据都不一样,要初始化好像也只能在.cpp文件里一个个写了
        m_strArr[0] = "ddd";
        m_strArr[1] = "sss";
          ......
        m_strArr[89] = "mmmm"
    不然您还想怎么省事儿呢?有些工作是必须做的啊
      

  12.   

    看来这位老兄真要一个个手工初始化了!
    我是想不出什么办法,呵呵,求n人help!
    来这里说说吧!!