Peringatan C26167
Mungkin melepaskan kunci 'kunci' yang tidak dipantau dalam fungsi 'func'.
Peringatan C26167 menyerupan peringatan C26117 kecuali bahwa tingkat keyakinan lebih rendah. Misalnya, fungsi mungkin berisi kesalahan anotasi.
Contoh
Kode berikut akan menghasilkan C26167 dan C26110.
typedef struct _DATA {
CRITICAL_SECTION cs;
} DATA;
_Releases_lock_(p->cs) void Leave(DATA* p) {
LeaveCriticalSection(&p->cs); // OK
}
void ReleaseUnheldLock(DATA* p) { // Warning C26167
int i = 0;
Leave(p); // Warning C26110
}
Kode berikut akan memperbaiki peringatan ini.
typedef struct _DATA {
CRITICAL_SECTION cs;
} DATA;
_Releases_lock_(p->cs) void Leave(DATA* p) {
LeaveCriticalSection( &p->cs );
}
void ReleaseUnheldLock( DATA* p ) {
EnterCriticalSection( &p->cs );
int i = 0;
Leave(p);
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk