我定义了一个CString 数组,初始化了一下,
CString s[10];
for( ii=0;ii<10;ii++)
{
   s="";
}这个数组在Dubeg模式下运行一点问题也没有,可一到Release模式,马上就出错。
最后我把它删除后就好了。请问题是什么问题。这有什么规则吗?

解决方案 »

  1.   

    你写错了,是:
    CString s[10];
    for( int ii=0;ii<10;ii++)
    {
       s[ii]="";//<----此处
    }
      

  2.   

    s=""是错误的,
    s是一个指针,CString [10],
    ""是一个字符,这是无法赋值的.
      

  3.   

    对啊,要写s[ii],不能只写s。
      

  4.   

    hehe~~你定义的是一个字符串数组。楼上回答正解
      

  5.   

    或者用这个吧memset(&s,"",sizeof(s)*10);方便,好用
      

  6.   

    回复人: zhushizu(从来就没有救世祖) ( ) 信誉:100  2003-12-08 18:18:00  得分:0 
     
      或者用这个吧memset(&s,"",sizeof(s)*10);方便,好用
     ————————————————————————————
    你这样子处理不行的,CString对象并不是一个简单的结构体
     还是风间苍月的说法对
     
      

  7.   

    是啊,一般这种情况用CStringList最方便。

    CStringList s;
    s.AddTail("One");
    s.AddTail("Two");s.GetAt(xxx)来取字串。
      

  8.   

    如果是初始化得话,不用啊,CString 本身构造得时候会初始化得
    CString s[10];
    for( int ii=0;ii<10;ii++)
    {
       s[ii]="";//<----此处
    }