Compiler Warning (level 1) C4382
melemparkan 'type' : jenis dengan __clrcall destructor atau copy constructor hanya dapat ditangkap dalam modul /clr:pure
Keterangan
Opsi kompilator /clr:pure tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017.
Ketika dikompilasi dengan /clr (bukan /clr:pure), penanganan pengecualian mengharapkan fungsi anggota dalam jenis asli __cdecl dan tidak __clrcall. Jenis asli dengan fungsi anggota menggunakan __clrcall
konvensi panggilan tidak dapat ditangkap dalam modul yang dikompilasi dengan /clr.
Jika pengecualian akan tertangkap dalam modul yang dikompilasi dengan /clr:pure, Anda dapat mengabaikan peringatan ini.
Untuk informasi selengkapnya, lihat /clr (Kompilasi Runtime Bahasa Umum).
Contoh
Sampel berikut menghasilkan C4382.
// C4382.cpp
// compile with: /clr /W1 /c
struct S {
__clrcall ~S() {}
};
struct T {
~T() {}
};
int main() {
S s;
throw s; // C4382
S * ps = &s;
throw ps; // OK
T t;
throw t; // OK
}