Derleyici Uyarısı (düzey 4) C4487
'derived_class_function' : devralınan sanal olmayan 'base_class_function' yöntemiyle eşleşir, ancak açıkça 'new' olarak işaretlenmez
Türetilmiş bir sınıftaki bir işlev, sanal olmayan bir temel sınıf işleviyle aynı imzaya sahiptir. C4487, türetilmiş sınıf işlevinin temel sınıf işlevini geçersiz kılmadığını anımsatır. Bu uyarıyı çözmek için türetilmiş sınıf işlevini açıkça olarak new
işaretleyin.
Daha fazla bilgi için bkz . yeni (vtable'da yeni yuva).
Örnek
Aşağıdaki örnek C4487 oluşturur.
// C4487.cpp
// compile with: /W4 /clr
using namespace System;
public ref struct B {
void f() { Console::WriteLine("in B::f"); }
void g() { Console::WriteLine("in B::g"); }
};
public ref struct D : B {
void f() { Console::WriteLine("in D::f"); } // C4487
void g() new { Console::WriteLine("in D::g"); } // OK
};
int main() {
B ^ a = gcnew D;
// will call base class functions
a->f();
a->g();
}
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin