GDI+: error C2660: 'new' : function does not take 3 parameters--MFC

在用GDI+写程序时,有
bmp = new Bitmap(L"E:\\1.png");
用VC6 SP6或VS2005编译错误为error C2660: 'new' : function does not take 3 parameters
这是VC的一个BUG,微软至今还没有解除。
解决办法如下:
法一:在该CPP文件开头部分注释掉#define new DEBUG_NEW
#ifdef  _DEBUG
//#define new DEBUG_NEW
#undef  THIS_FILE
static  char THIS_FILE [] = __FILE__;
#endif
建议法二:在GdiplusBase.h文件中class GdiplusBase中添加如下代码
 //////////////////////////////////////////////////////////////////////////
 void * (operator new)(size_t nSize, LPCSTR lpszFileName, int nLine)
 {
  return DllExports::GdipAlloc(nSize);
 }
 
 void operator delete(void* p, LPCSTR lpszFileName, int nLine)
 {
  DllExports::GdipFree(p);
 }
 //////////////////////////////////////////////////////////////////////////
引用自http://www.cnblogs.com/carekee/articles/2038116.html

你可能感兴趣的:(GDI+: error C2660: 'new' : function does not take 3 parameters--MFC)