Compiler Warning (level 1) C4461
'type' : this class has a finalizer 'finalizer' but no destructor 'dtor'
The presence of a finalizer in a type implies resources to delete. Unless a finalizer is explicitly called from the type's destructor, the common language runtime determines when to run the finalizer, after your object goes out of scope.
If you define a destructor in the type and explicitly call the finalizer from the destructor, you can deterministically run your finalizer.
For more information, see Destructors and finalizers.
Example
The following sample generates C4461.
// C4461.cpp
// compile with: /W1 /clr /c
ref class A {
protected:
!A() {} // C4461
};
// OK
ref struct B {
~B() {
B::!B();
}
!B() {}
};
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for