Debug版本编译错误

bojinyu 2002-09-23 09:27:03
/***
* comutil.h - Native C++ compiler COM support - BSTR, VARIANT wrappers header
*
* Copyright (C) 1996-1997 Microsoft Corporation
* All rights reserved.
*
****/
在Release版本下编译没问题,在Debug版本下编译就出现:
e:\program files\microsoft visual studio\vc98\include\comutil.h(219) : error C2065: 'DEBUG_NEW' : undeclared identifier

怎么回事?高手帮忙!急急,等着调试呢。
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bojinyu 2002-11-19
  • 打赏
  • 举报
回复
我的解办法: 把
#define new DEBUG_NEW
注释掉不要。
bojinyu 2002-09-23
  • 打赏
  • 举报
回复

// Construct a _bstr_t from a const char*
//
inline _bstr_t::_bstr_t(const char* s) throw(_com_error)
: m_Data(new Data_t(s))
{
if (m_Data == NULL) {
_com_issue_error(E_OUTOFMEMORY);
}
}
查了一下,DEBUG_NEW确实是由new变过来的,如
:m_Data(new Data_t(s))
变为
:m_Data(DEBUG_NEW Data_t(s)).
可编译错误这是这样产生的,DEBUG_NEW在什么地方定义的?
bruce007 2002-09-23
  • 打赏
  • 举报
回复
DEBUG模式重载了new 成DEBUG_NEW,Y一般放在头文件前面,可能是你把它删掉了,你可以从别的文件拷一个放在COMUTIL.H的前面
mickyf 2002-09-23
  • 打赏
  • 举报
回复
在每一个.cpp头上或者stdafx.h里面加入
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
bojinyu 2002-09-23
  • 打赏
  • 举报
回复
可是comutil.h中没有DEBUG_NEW啊
everandforever 2002-09-23
  • 打赏
  • 举报
回复
引用了 DEBUG_NEW, 但DEBUG_NEW却没有定义
这应该是拿来DEBUG用的,所以RELEASE没有问题.
bojinyu 2002-09-23
  • 打赏
  • 举报
回复
COMUTIL.H不是我编的,是
/***
* comutil.h - Native C++ compiler COM support - BSTR, VARIANT wrappers header
*
* Copyright (C) 1996-1997 Microsoft Corporation
* All rights reserved.
*
****/

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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