編譯器警告 (層級 1) C4461
'type' :這個類別具有完成項 'finalizer' ,但沒有解構函式 'dtor'
型別中存在完成項表示要刪除的資源。 除非明確從類型的解構函式呼叫完成項,否則 Common Language Runtime 會在物件超出範圍之後決定何時執行完成項。
如果您在型別中定義解構函式,並從解構函式明確呼叫完成項,您可以確定性地執行完成項。
如需詳細資訊,請參閱 解構函式和完成項。
範例
下列範例會產生 C4461。
// C4461.cpp
// compile with: /W1 /clr /c
ref class A {
protected:
!A() {} // C4461
};
// OK
ref struct B {
~B() {
B::!B();
}
!B() {}
};