分享方式:


編譯器錯誤 C3797

'override': 事件宣告不能有覆寫規範(應該改為放在事件新增/移除/引發方法上)

您無法使用另一個簡單事件覆寫一般事件(沒有明確定義的存取子方法的事件)。 覆寫事件必須使用存取子函式來定義其行為。

如需詳細資訊,請參閱 事件

範例

下列範例會產生 C3797。

// C3797.cpp
// compile with: /clr /c
delegate void MyDel();

ref class Class1 {
public:
   virtual event MyDel ^ E;
};

ref class Class2 : public Class1 {
public:
   virtual event MyDel ^ E override;   // C3797
};

// OK
ref class Class3 : public Class1 {
public:
   virtual event MyDel ^ E {
      void add(MyDel ^ d) override {}
      void remove(MyDel ^ d) override {}
   }
};