关于重载的 operator new和 operator delete

sogald_2001 2002-11-27 09:56:21
struct Point {
public:
static void * operator new (size_t size);
static void operator delete(void *p, size_t size);
......
};

按照Scott Meyers的说法,如果自己定做operator new和operator delete的话,应当是上面的那幅模样。但编译器有警告如下:
void *__cdecl Point::operator new(unsigned int)' : no matching operator delete found; memory will not be freed if initialization throws an exception
它认为delete和new是不相配的。我把operator delete的第二个参数拿掉就没有了这个警告,但这和Scott Meyers的描述相异。why?
...全文
40 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
n5 2003-04-27
  • 打赏
  • 举报
回复
vc6不标准
liuto 2002-11-28
  • 打赏
  • 举报
回复
这应该是编译器的问题。什么编译器?
sogald_2001 2002-11-28
  • 打赏
  • 举报
回复
Visual C++ 6.0
oujinliang 2002-11-27
  • 打赏
  • 举报
回复
#include <new>
是否包含?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧