new操作符重定义有关问题: error C2365: “new” : 重定义;以前的定义是“成员函数”

new操作符重定义问题: error C2365: “new” : 重定义;以前的定义是“成员函数”
本帖最后由 maqiaobo 于 2013-08-25 17:39:00 编辑
编译子项目中一个OctetString.cpp文件会报一下错误:
new操作符重定义有关问题: error C2365: “new” : 重定义;以前的定义是“成员函数”
我双击错误,显示错误点在xdebug文件中,但是我的项目都没有用到这个xdebug文件,导致错误的地方应该不在xdebug里面:
new操作符重定义有关问题: error C2365: “new” : 重定义;以前的定义是“成员函数”

我在网上也搜索过解决方法,例如把头文件都放在#define new DEBUG_NEW这类宏定义前、或者删了#define new DEBUG_NEW这类宏定义,都解决不了问题,十分困扰,希望有人能帮帮我。
(我的编译器是VS2003的)
C vs C++ xdebug

------解决方案--------------------
是不是你的工程自己实现了operator new等,造成冲突了
------解决方案--------------------
1.自己实现过

2.用别人库,同时调用冲突了。

------解决方案--------------------
在xdebug中 试试这样

#ifdef new
#undef new
#endif

------解决方案--------------------
引用:
在xdebug中 试试这样

#ifdef new
#undef new
#endif

看样子是他已经在文件中使用了new操作符, 即使这样干掉,估计也会出现其他错误提示. 感觉还是仔细查看一下new到底在哪里重新定义 以及头文件中#define new这种的问题
------解决方案--------------------
引用:
Quote: 引用:

在xdebug中 试试这样

#ifdef new
#undef new
#endif
我觉得问题不是出在xdebug中,这应该是系统给的文件,是不是改这个文件的内容不太妥当。。

如果是系统的文件不要修改, 一般系统文件轻易都不会动, 查看下外部文件吧。