编译器错误 C3764

“override_function”:无法重写基类方法“base_class_function”

编译器检测到格式不正确的重写。 例如,基类函数未 virtual。 有关详细信息,请参阅重写

示例

以下示例生成 C3764。

// C3764.cpp
// compile with: /clr /c
public ref struct A {
   void g(int);
   virtual void h(int);
};

public ref struct B : A {
   virtual void g(int) override {}   // C3764
   virtual void h(int) override {}   // OK
};

当基类方法既显式又被命名重写时,也会发生 C3764。 以下示例生成 C3764。

// C3764_b.cpp
// compile with: /clr /c
ref struct A {
   virtual void Test() {}
};

ref struct B : public A {
   virtual void Test() override {}
   virtual void Test2() = A::Test {}   // C3764
};