Mfc 试图覆盖CFormView中的CView::OnUpdate
我正在处理一个SDI项目,其中视图继承了CFormView。我试图重写,但编译器抱怨如下:Mfc 试图覆盖CFormView中的CView::OnUpdate,mfc,compiler-errors,Mfc,Compiler Errors,我正在处理一个SDI项目,其中视图继承了CFormView。我试图重写,但编译器抱怨如下: 'CMyFormView::OnUpdate' : 'virtual' storage-class specifier illegal on function 定义 以下是我的类定义: class CMyFormView : public CFormView { … // Overrides public: virtual BOOL PreCreateWindow(CREATESTRU
'CMyFormView::OnUpdate' : 'virtual' storage-class specifier illegal on function
定义
以下是我的类定义:
class CMyFormView : public CFormView
{
…
// Overrides
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void OnInitialUpdate(); // called first time after construct
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
};
我试图覆盖的函数如下所示:
virtual void CMyFormView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
CFormView::OnUpdate(pSender, lHint, pHint);
//Get the current data from our document
CMyAppDoc* pDoc = GetDocument();
}
有人能告诉我如何解决这个问题吗?不要在函数定义(即.cpp文件)中添加“virtual”。只能将其放在声明(.h文件)中。如果它已经在基类层次结构(CView?)中声明为虚拟,那么您根本不需要“virtual”关键字,因为如果您具有相同的函数声明,它将自动成为虚拟的。当我看到您发布答案时,我正在回答我自己的问题。谢谢