CString    Senserbuf;
int Result(char* str);
long int m_iPulse;
m_iPulse=Result(Senserbuf);
error C2664: 'Result' : cannot convert parameter 1 from 'class CString' to 'char *'

解决方案 »

  1.   

    CString是一个类,它同其他类型的转化通常是通过类重载一定操作符完成的
    也就是说CString没有可以转化为char*的运算
    如果你需要这种自动转化,可以自己派生一个string类并模仿MFC实现这种转换
      

  2.   

    CString    Senserbuf;
    int Result(char* str);
    long int m_iPulse;
    m_iPulse=Result((char*)Senserbuf);
      

  3.   

    CString 转 char *必须通过:
    strcpy()等函数实现, 你在函数调用前应做好这个转化
      

  4.   

    CString类定义了CString::operator LPCTSTR( ) const;
    所以,可以转化为LPCTSTR
    m_iPulse = Result((char*)(LPCTSTR)Senserbuf);
      

  5.   

    同意EricHxy(龙真):或者:
    CString    strDes = _T("Hello World");
    char       *strSrc = new char( strDes.GetLength() );
    strcpy( strSrc, strDes );
    Result( strSrc );