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