Вопрос к опытным программистам
#define _AFXDLL
#include "afxwin.h"
class CFirstApp: public CWinApp
{
public:
virtual BOOL InitInstance();
};
CFirstApp theApp;
BOOL CFirstApp::InitInstance()
{
AfxMessageBox("First MFC-application");
return FALSE;
}
Я так полагаю, функция AfxMessageBox() перегружается 2 раза (это видно в заголовочном файле afxwin.h) и по идее всё должно сработать, но при компиляции всё время происходят ошибки следующего характера:
first.cpp(23) : error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
afxwin.h(4964): could be 'int AfxMessageBox(LPCTSTR,UINT,UINT)'
afxwin.h(4966): or 'int AfxMessageBox(UINT,UINT,UINT)'
Заранее благодарен, если поможете.
AfxMessageBox("First MFC-application",MB_OK,0);
Попробуй так:
AfxMessageBox("First MFC-application",MB_OK,0);
Я уже пробовал, не помогает, всё те же ошибки... :(
Я уже пробовал, не помогает, всё те же ошибки... :(
Так должно помочь:
AfxMessageBox((LPCTSTR)"First MFC-application");
Либо так:
AfxMessageBox(_T("First MFC-application"));
Так должно помочь:
AfxMessageBox((LPCTSTR)"First MFC-application");
Либо так:
AfxMessageBox(_T("First MFC-application"));
Дело в том, что при вводе одной из этих строк компилятор выдаёт другую ошибку:
msvcrtd.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup
А вообще, может быть такая ситуация, когда что-то не срабатывает в самом компайлере Visual Studio 2005 Beta 2 и, может, стоит обратно перейти на Visual Studio 2002? Или я что-то не так делаю при создании проектов?
Дело в том, что при вводе одной из этих строк компилятор выдаёт другую ошибку:
msvcrtd.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function _WinMainCRTStartup
А вообще, может быть такая ситуация, когда что-то не срабатывает в самом компайлере Visual Studio 2005 Beta 2 и, может, стоит обратно перейти на Visual Studio 2002? Или я что-то не так делаю при создании проектов?
Возможно, это баг 2005-х :(
Но посмотри в проекте, где у тебя описывается AfxMessageBox (какой модуль). Возможно, дело в настройках (такое впечатление, что ты что-то не подключил)
AfxMessageBox(_Т("First MFC-application"));