题目:
函数1()
{
    CString csMyString = _T("sadad");
    函数2(csMyString);
//chuli
}
函数2(CString csMY)
{
    CString csMyTemp = csMy;
//chuli
}结果出错了
cannot convert parameter 1 from 'unsigned char *' to 'unsigned long'我知道类型出错了。但不知道怎么解决

解决方案 »

  1.   

    怎么跑出来个unsigned long?
    _T("sadad");
    这个在UNICODE下是unsigned short
      

  2.   

    不好意思,是我自己看错了,错误不是这个在问一个概念问题
    void DoMyTest()
    {
        char *pMyTest = new char[256];
        //对pMyTest进行赋值操作
        DoNext((DWORD)pMyTest);    delete [] pMyTest;
    }void DoNext(DWORD pMy)
    {
        char *pMyTemp = (char *)pMy;
        //进一步操作
    }这样做是对的吧?
    还有是不是一定要把指针传递转成DWORD格式?还是不用的?
      

  3.   

    没必要这么麻烦,指针直接可以作为参数传递的。
    void DoNext(LPSTR pMy)
    {
        char *pMyTemp = pMy;
    }