在我的項目中,我嘗試重新加載全局運算符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