description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid | ||
---|---|---|---|---|---|---|---|
Learn more about: Compiler Warning (level 1) C4461 |
Compiler Warning (level 1) C4461 |
11/04/2016 |
|
|
104ffecc-3dd4-4cb1-89a8-81154fbe46d9 |
'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.
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() {}
};