vc++常见问题的解决(bool和BOOL)

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

你可能感兴趣的:(c++,学习)