我有一个班级(Event.h):
class CEvent
{
public:
CEvent();
~CEvent();
int nVal;
};
在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 ..
答案 0 :(得分:2)
CEvent也是MFC中类的名称。 我会重命名这个课程以防止混淆。
答案 1 :(得分:1)
发现问题:
#ifdef _DEBUG
#define DEBUG_NEW
#endif
包含在另一个班级中。这无处不在地影响着“新”!评论这个可以清除错误。
去图。