m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax}
只有初始化才能这样做
还是分别赋值吧

解决方案 »

  1.   

    m_VarMAX[] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};另外看下var.m_Pcly_Edit_Max, var.m_Pcly_Edit_ApMax是否有值
      

  2.   

    就是在构造函数中初始化的啊,问题出现在哪呢?
    这样赋值:
    CString V1,V2;
    CString m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};或者这样赋值
    CString V1,V2,m_VarMAX[VAR_COUNT];
    m_VarMAX[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMAX[1]=V2+var.m_Pcly_Edit_ApMax;
      

  3.   

    就是在构造函数中初始化的啊,问题出现在哪呢?
    这样赋值:
    CString V1,V2;
    CString m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};或者这样赋值
    CString V1,V2,m_VarMAX[VAR_COUNT];
    m_VarMAX[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMAX[1]=V2+var.m_Pcly_Edit_ApMax;第一种赋值方法不对,但是不知到问什么,还是一样的错误!
      

  4.   

    就是在构造函数中初始化的啊,问题出现在哪呢?
    这样赋值:
    CString V1,V2;
    CString m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};或者这样赋值
    CString V1,V2,m_VarMAX[VAR_COUNT];
    m_VarMAX[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMAX[1]=V2+var.m_Pcly_Edit_ApMax;第一种赋值方法不对,但是不知到问什么,还是一样的错误!
    第一种不对的话,你需要检查:
    1.VAR_COUNT是变量还是宏定义。
      只有宏定义才是正确的。
      宏定义:#define VAR_COUNT 2
    2.var.m_Pcly_Edit_Max以及var.m_Pcly_Edit_ApMax是什么类型?  这么看好像是个int或者别的
      你这种赋值方式,至少得保证这两个变量是字符型的,char,string或者CString
    3.暂时想不到了我自己编译的话也没有错呀。只省略了你那个var.m_Pcly_Edit_Max和var.m_Pcly_Edit_ApMax而已
    #define VAR_COUNT 2
    CString V1,V2 ;
    CString m_VarMAX[VAR_COUNT]={V1+_T("\t"),V2};
      

  5.   

    用大括号赋值也可以,不过大括号里字符串要刚好var_count个,用逗号隔开。
      

  6.   

    就是在构造函数中初始化的啊,问题出现在哪呢?[/quote
    这样赋值:
    CString V1,V2;
    CString m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};或者这样赋值
    CString V1,V2,m_VarMAX[VAR_COUNT];
    m_VarMAX[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMAX[1]=V2+var.m_Pcly_Edit_ApMax;第一种赋值方法不对,但是不知到问什么,还是一样的错误!
    第一种不对的话,你需要检查:
    1.VAR_COUNT是变量还是宏定义。
      只有宏定义才是正确的。
      宏定义:#define VAR_COUNT 2
    2.var.m_Pcly_Edit_Max以及var.m_Pcly_Edit_ApMax是什么类型?  这么看好像是个int或者别的
      你这种赋值方式,至少得保证这两个变量是字符型的,char,string或者CString
    3.暂时想不到了我自己编译的话也没有错呀。只省略了你那个var.m_Pcly_Edit_Max和var.m_Pcly_Edit_ApMax而已
    #define VAR_COUNT 2
    CString V1,V2 ;
    CString m_VarMAX[VAR_COUNT]={V1+_T("\t"),V2};
    有定义宏 ,var.m_Pcly_Edit_Max以及var.m_Pcly_Edit_ApMax是另一个类的字符串(CString 类型)
    在头文件声明的时候是这样写的: CString m_VarMAX[VAR_COUNT];
                           CString m_VarMIN[VAR_COUNT];
    在构造函数中是这样写的:m_VarMAX[VAR_COUNT]={V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax+"\t",
    V3+var.m_Pcly_Edit_Max+"\t",V4+var.m_Pcly_Edit_ApMax+"\t"};
      

  7.   

    我去,声明的时候写了
    CString m_VarMax[VAR_COUNT];
    赋值的时候只能老老实实地一个一个赋值
    m_VarMax[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMax[1]=V2+var.m_Pcly_Edit_ApMax+"\t";这是基本语法呀
      

  8.   

    就是在构造函数中初始化的啊,问题出现在哪呢?
    这样赋值:
    CString V1,V2;
    CString m_VarMAX[VAR_COUNT] = {V1+var.m_Pcly_Edit_Max+"\t",V2+var.m_Pcly_Edit_ApMax};或者这样赋值
    CString V1,V2,m_VarMAX[VAR_COUNT];
    m_VarMAX[0]=V1+var.m_Pcly_Edit_Max+"\t";
    m_VarMAX[1]=V2+var.m_Pcly_Edit_ApMax;
    第一种方法绝对不能再在头文件中声明m_VarMax了
      

  9.   

    如果你一定要在头文件中声明m_VarMax,就只能这么写
    正确的写法是:// .h 文件中#define DDDDD 3
    class A
    {
    public:
    A();
    ~A();
    private:
    CString m_strVar[DDDD];
    }// .cpp 文件中
    A::A()
    {/// 这里的标号最大到2,永远小于DDDD,不然编译通得过,但运行报错
      m_strVar[0]="aaaa";
      m_strVar[1]="bbbb";
      m_strVar[2]="cccc";}