我是用VC6.0,写的一个程序:在初始化Image 的一个对象的时候,如下:
Image image(GetFilePath(m_nPos));
编译的时候老是出现这个问题:
error C2664: '__thiscall Gdiplus::Image::Gdiplus::Image(const unsigned short *,int)' : cannot convert parameter 1 from 'class CString' to 'const unsigned sh
ort *'其中:GetFilePath(m_nPos)是这样定义的:
CString CCVCImageProcView::GetFilePath(int nIndex)
{
ASSERT(nIndex >= 0 && nIndex < m_nPicNum);
return ( m_strPath + " \\ " + m_FilesNameAry[nIndex]);
}
请高手帮忙解答一下啊!!

解决方案 »

  1.   

    错误上都说了啊,不能将参数1 'class CString' to 'const unsigned short *'参数不对嘛。
      

  2.   

    是啊,但是这个如何解决呢?那个路径名都是CString的,但是,Image ::image(WCHAR *filename,BOOL useEmbeddedColorManagement),这个该是如何转换使用呢?
      

  3.   

      CString str=_T("dd.png");
    Image image(str);
       // Draw the original source image.   graphics.DrawImage(&image, 10, 10);
    这样是没有问题的啊
      

  4.   

    这个方法是在已知路径情况下可以这样实现的,但是如果路径是动态变化的话,这个方法行不通了这个我已经解决了,就是使用CString 的成员函数AllocSysString()可以实现CString 与wchar 的转换仍然感谢你啊
      

  5.   

    杯具了,通过转换,编译通过了,但是功能实现不了!
    在GDI 中,Image 类中,如何用绝对路径的图片进行初始化呢?
      

  6.   

    先把GetFilePath的结果保存到一个CString的变量里
    然后转换成Image支持的格式
      

  7.   

    这个问题,现在终于圆满解决了,是通过一个函数MultiByteToWideChar()进行转换的,感谢各位的关注和支持啊!!