今天合代码的时候,报了一堆如下的错误,折腾了半个小时才搞明白……
咋一看莫名其妙,后来仔细看了xdebug里面的代码,有如下的定义:
在_DEBUG下new被重定义了(用来检测内存泄漏),然后查了下自己的代码,发现也有new的新定义……,因为之前是从MFC下面迁移过来的代码:
杯具……又是混用MFC和标准库造成的。
解决方法也就明朗了。
方法一:把所有文件里面上面的那一堆“……#define new DEBUG_NEW……”全部删除
方法二:要么就保证使用了new的语句在上面的那一坨宏的前面。
个人建议还是全删了吧。