CString CStart = "aaa";
CString CEnd = "bbb";
int IEnd = PageContent.Find(CEnd);
int IStart = PageContent.ReverseFind(CStart);
error C2664: “ATL::CStringT<BaseType,StringTraits>::ReverseFind”: 不能将参数 1 从“CString”转换为“char”
1>        with
1>        [
1>            BaseType=char,
1>            StringTraits=StrTraitMFC_DLL<char>
1>        ]
1>        没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符为什么用CString::Find()就没问题,用CString::ReverseFind()就报错呢?我没有用UNICODE

解决方案 »

  1.   

    感觉很奇怪,按理说如果有问题应该Find()和ReverseFind()都不行才对啊
      

  2.   

    PageContent是啥玩意?
    int ReverseFind(
       XCHAR ch
    ) const throw();它要求的是字符,不是字符串,要注意
      

  3.   

    就是说ReverseFind只能搜索单个子?
      

  4.   

    YES,API限制了,没有办法
    如果你要搜索字符串,那你也可以自己实现一个,也不是很难
      

  5.   

     ReverseFind(CStart.GetBuffer()); 明显不对啊,就这还给40分,真看不懂你们想什么!!!! 最看不惯不会装会的人。