MFC: новый объект - сообщение об ошибке? - PullRequest
1 голос
/ 13 октября 2011

У меня есть класс (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 ..

Ответы [ 2 ]

2 голосов
/ 13 октября 2011

CEvent также является именем класса в MFC. Я бы переименовал класс, чтобы избежать путаницы.

1 голос
/ 13 октября 2011

Обнаружена проблема:

#ifdef _DEBUG
#define DEBUG_NEW
#endif

был включен в другой класс.Это повлияло на «новое» повсюду!Комментирование этого очищает ошибку.

Иди цифра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...