Derleyici Uyarısı (düzey 1) C4722
'function' : yıkıcı hiçbir zaman döndürmez, olası bellek sızıntısı
Denetim akışı bir yıkıcıda sonlanır. İş parçacığı veya programın tamamı sonlandırılır ve ayrılan kaynaklar serbest bırakılamaz. Ayrıca, özel durum işleme sırasında yığın geri sarma için bir yıkıcı çağrılırsa yürütülebilir dosyanın davranışı tanımlanmamıştır.
Sorunu çözmek için, yıkıcının döndürülmemesi için neden olan işlev çağrısını kaldırın.
Örnek
Aşağıdaki örnek C4722 oluşturur:
// C4722.cpp
// compile with: /O1 /W1 /c
#include <stdlib.h>
class C {
public:
C();
~C() { exit(1); }; // C4722
};
extern void func (C*);
void Test(){
C x;
func(&x);
// control will not leave Test because destructor will exit
}
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