C++ MFC:新对象-错误消息?

C++ MFC:新对象-错误消息?,c++,mfc,C++,Mfc,我有一门课(Event.h): 在Event.cpp中定义 #include "event.h" CEvent::CEvent() {} CEvent::~CEvent() {} 在另一个课程中,我加入了“event.h”,并尝试以下内容: CEvent* pEvent = new CEvent(); 但是我得到一个编译器错误: error C2440: 'initializing' : cannot convert from 'CEvent' to 'CEvent *' 1>

我有一门课(Event.h):

在Event.cpp中定义

 #include "event.h"
 CEvent::CEvent() {}
 CEvent::~CEvent() {}
在另一个课程中,我加入了“event.h”,并尝试以下内容:

 CEvent* pEvent = new CEvent();
但是我得到一个编译器错误:

error C2440: 'initializing' : cannot convert from 'CEvent' to 'CEvent *'
1>        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
我做错了什么?这是一件非常琐碎的事情,我离它太近了,看不见它


使用VC 2008。。fwiw..

CEvent也是MFC中类的名称。 我将重命名该类以避免混淆。

发现问题:

#ifdef _DEBUG
#define DEBUG_NEW
#endif
被列入另一个班级。这是影响'新'无处不在!对此进行注释将清除错误


仔细想想。

我怀疑是您没有向我们展示的某些代码有问题。我想不出还有什么是“有趣的”。它是MFC中基于对话框的应用程序。我必须有一些编译器设置,这是造成这一点。我试图创建其他标准对象,但也出现了同样的错误。老实说——代码中的CMTEvent——我简化了这个问题。没有。。我的意思是在我的代码中都是“CMTEvent”。当我把它输入StackOverflow时,我只使用了“CEvent”。我可以编辑这个问题,如果这样可以简化这个问题。
#ifdef _DEBUG
#define DEBUG_NEW
#endif