Mfc 试图覆盖CFormView中的CView::OnUpdate

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

我正在处理一个SDI项目,其中视图继承了CFormView。我试图重写,但编译器抱怨如下:

'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”关键字,因为如果您具有相同的函数声明,它将自动成为虚拟的。

当我看到您发布答案时,我正在回答我自己的问题。谢谢