为什么现在我不能这样定义一个CString了:
CString a=0;
还有我的返回值是CString类型的函数,都不能返回TRUE或者FALSE了,必须用_T进行转换才行可是我昨天都还可以的嘛……
各位大侠帮帮我,谢谢了

解决方案 »

  1.   

    CString   a='0';
    CString有重载const CString& operator=(char ch);而没有重载const CString& operator=(int ch);
      

  2.   

    不会吧,你什么编译器,这么厉害,能把int型自动转成CString型。CString类型自动初始化为"";TRUE和FALSE是BOOL型,也是BYTE型,但不是CString型
      

  3.   

    CString a=0当然不行,因为CString类操作符重载=时要求操作数为字串
      

  4.   

    不太懂你的意思,你是在MFC下的工程吗?
    0是整形,为什么要负给CSTRING 呢,TURE FALSE是BOOL类型为什么要用CSTRING返回呢
    好好看CString的定义吧,即使强制类型转换没有错也没有必要这样呆板的编程啊,
    int a =0;
    bool a=false;
      

  5.   

    .NET 2003
    上周一直都这样没报错的,但是今天一来就报错了
    先报了个 WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)的错误,然后就是这个CString的错误
    谢谢各位了
      

  6.   

    不是
    因为函数的返回值有很多,我觉得用CString做返回值要方便点,所以就弄成返回CString
    我现在也搞不懂了,前段时间一直都可以的,今天就不行了,难道编译器一直没发现我的错误?
      

  7.   

    我也觉得……
    开始我还以为.NET 2003下的CString可以直接定义为数字,都不用打引号,感觉好强大……