我先建立一个 win32 application
建立一个原代码
其如下
#include<afxwin.h>
#include<windows.h>
class CHelloFrame :public CFrameWnd
{
public :
CHelloFrame()
{
Create(NULL , "hello word" , WS_OVERLAPPEDWINDOW ,rectDefault);
};
};
class CHelloApp : public CWinApp
{
public :
virtual BOOL InitInstance();
};
bool CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloFrame() ;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE ;
};
CHelloApp HelloApp;在编译连接
但出现如下错误
ompiling...
helloword.cpp
E:\2003.11.20\c++\HelloWord1\helloword.cpp(25) : error C2556: 'bool __thiscall CHelloApp::InitInstance(void)' : overloaded function differs only by return type from 'int __thiscall CHelloApp::InitInstance(void)'
E:\2003.11.20\c++\HelloWord1\helloword.cpp(20) : see declaration of 'InitInstance'
E:\2003.11.20\c++\HelloWord1\helloword.cpp(25) : error C2371: 'InitInstance' : redefinition; different basic types
E:\2003.11.20\c++\HelloWord1\helloword.cpp(20) : see declaration of 'InitInstance'
Error executing cl.exe.HelloWord1.exe - 2 error(s), 0 warning(s)不知道怎么高的 还希望大家 指教啊
建立一个原代码
其如下
#include<afxwin.h>
#include<windows.h>
class CHelloFrame :public CFrameWnd
{
public :
CHelloFrame()
{
Create(NULL , "hello word" , WS_OVERLAPPEDWINDOW ,rectDefault);
};
};
class CHelloApp : public CWinApp
{
public :
virtual BOOL InitInstance();
};
bool CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloFrame() ;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE ;
};
CHelloApp HelloApp;在编译连接
但出现如下错误
ompiling...
helloword.cpp
E:\2003.11.20\c++\HelloWord1\helloword.cpp(25) : error C2556: 'bool __thiscall CHelloApp::InitInstance(void)' : overloaded function differs only by return type from 'int __thiscall CHelloApp::InitInstance(void)'
E:\2003.11.20\c++\HelloWord1\helloword.cpp(20) : see declaration of 'InitInstance'
E:\2003.11.20\c++\HelloWord1\helloword.cpp(25) : error C2371: 'InitInstance' : redefinition; different basic types
E:\2003.11.20\c++\HelloWord1\helloword.cpp(20) : see declaration of 'InitInstance'
Error executing cl.exe.HelloWord1.exe - 2 error(s), 0 warning(s)不知道怎么高的 还希望大家 指教啊
有问题,将bool改为大写,BOOL,就可以了。
wangweintk(枫杨)
如下
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloFrame() ;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE ;
}如果link有错误,请选择project->setting->source files->你的.cpp文件->c/c++->category(先code generation)->use run-time library(选为debug Mulitithreaded)然后确定.重新编译(rebuild all),再运行,就可以了
我的问题解决了
再次感谢 : carbon107(<软件开发思想.h>)
但为什么要这个样子那 !?project->setting->source files->你的.cpp文件->c/c++->category(先code generation)->use run-time library(选为debug Mulitithreaded)
#include "AfxWin.h"#define WM_MESSAGE WM_USER+0class CExampleApp : public CWinApp
{
public:
BOOL InitInstance();
};class CExampleFrame : public CFrameWnd
{
protected:
afx_msg void OnExampleMessage();
DECLARE_MESSAGE_MAP()
};BOOL CExampleApp::InitInstance()
{
m_pMainWnd=new CExampleFrame();
if (!((CFrameWnd*)m_pMainWnd)->Create(NULL,"title"))
return FALSE;
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}BEGIN_MESSAGE_MAP(CExampleFrame,CFrameWnd)
ON_MESSAGE(WM_MESSAGE,OnExampleMessage)
END_MESSAGE_MAP()void CExampleFrame::OnExampleMessage()
{
}CExampleApp app;