程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> vc++常見問題的解決(bool和BOOL)

vc++常見問題的解決(bool和BOOL)

編輯:關於C語言
 

example005\mainfrm.h(46) : error C2555: 'CMainFrame::OnCreateClient' : overriding virtual function differs from 'CFrameWnd::OnCreateClient' only by return type or calling convention
e:\program files\microsoft visual studio\vc98\mfc\include\afxwin.h(3086) : see declaration of 'CFrameWnd'

我在調試程序中出現了上述錯誤,搞了老久不知什麼原因,後來無意間終於調通了。原來在程序中有一段重載的虛函數 在基類裡是:virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext);

在子類裡是:virtual bool OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext);

當時就是這個重載出現了錯誤

後來我把bool改成BOOL竟然可以了 甚是納悶 一直以來以為BOOL和bool一樣

才致造成錯誤

原來這兩個在程序裡都顯示關鍵字 但意義不同 在vc++ 中BOOL是被定義了的

如此定義了 :typedef int BOOL;

而bool 並沒有定義 not defined
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved