在我的项目中,我尝试重新加载全局运算符new和delete([])。当我尝试在第一次编译,我得到的链接错误:MS VC++编译器模棱两可
Main.obj : error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) already defined in LIBCMTD.lib(new.obj)
当我试图在第二次编译,错误奇迹般地消失! 但有时会返回。 如何解决此问题?
运行时库:MTd。
代码:
void operator delete(void * pointer){LALALA}
或者
void __cdecl operator delete(void * pointer){LALALA}
此错误返回时我遵循的步骤:
- 卸下重装新的(其他)
- 编译
- 一个获得重装
- 尝试编译并收到此错误
在其他情况下,错误消失。这是什么原因?
该文件首先编译并出现此错误。第二次,错误没有显示,因为如果文件未被修改,该文件不会被重新编译。请发布给你的错误。 – gulyan 2012-04-15 19:01:22
@gulyan,已经。 – 2012-04-15 19:20:26