使用这样的代码:
m_pBitmap = new Bitmap(  rect.Width(), rect.Height(), graphics );
m_pGraphics = new Graphics( hDC );
m_pImage = new Image(L"a.jpg");
时,参数都是正确的,也换了其他参数,
但编译时总是报错:'new' : function does not take 3 parameters似乎是使用GdiPlus的namespace后把new重新定义了,但是怎么解决呢?谢谢!

解决方案 »

  1.   

    呵呵,这个问题我遇到过,是不是你参考了一个程序做的?
    它自带了GDI+的库吧,看看,它好像有一个叫做myGdiplus.h的文件,在那里它重载了new操作符
    如果要是想使用就可以使用它的头文件和库,一般不会出什么问题的!
      

  2.   

    你将它的文件夹GdiPlus一起拷贝到你的工程中,然后按照它例子工程的设置,使用它的lib库,使用它的myGDIPlus.h替换你所包含的#include "GdiPlus.h",,即可!有什么问题可以将你的程序发给我,我改好了再发给你,呵呵!如果可以的话,可以将程序发到:[email protected],我下班了,明天上班帮你改!
      

  3.   

    自己查出来了,debug模式下MFC重载了new以便于定位操作,换用;;new这样的全局操作符即可。
    但是delete时,;;delete和GdiPlus::delete还是有区别的。现在用了笨办法,直接使用gdiplus中的alloc等进行分配。如果使用全局new和delete操作,虽然检测工具都没有报告错误,单通过memcheck可以发现存在内存泄漏的。还是谢谢以上各位的回答。