0001:pSaItem->strRelExp ==_T("=="); 
0002:pSaItem->strRelExp.Format("%s", "=="); 
0003:pSaItem->strVal == _T("true"); 
0004:pSaItem->strVal.Format("%s", "true"); 
 
其中pSaItem为自定义的一个结构体指针,它的每一个成员变量都是一个CString类型。调试中个发现:0001和0003句执行后,成员变量的内容并没有改变,依然是以前的(“”)。可是我在程序别的部分使用了同样的赋值语句,就可以,不明白是怎么回事。 

解决方案 »

  1.   

    应该是下面这样吧:"="or"=="?
    0001:pSaItem->strRelExp =_T("=="); 
    0002:pSaItem->strRelExp.Format("%s", "=="); 
    0003:pSaItem->strVal = _T("true"); 
    0004:pSaItem->strVal.Format("%s", "true"); 
      

  2.   

     
    mltong2008
     
    (拥抱快乐) 等 级: 
    结帖率:107.14% 彪悍的结贴率,不需要解释!
      

  3.   

    2楼正解,就是等号的问题。赋值应该是一个等号,逻辑比较才需要两个等号
    pSaItem->strRelExp =_T("=="); 
    pSaItem->strRelExp.Format("%s", "=="); 
    pSaItem->strVal = _T("true"); 
    pSaItem->strVal.Format("%s", "true"); 
      

  4.   

    原来代码里不能嵌套UBB语法,晕~~```pSaItem->strRelExp =_T("=="); 
    pSaItem->strRelExp.Format("%s", "=="); 
    pSaItem->strVal = _T("true"); 
    pSaItem->strVal.Format("%s", "true");