Bagikan melalui


Peringatan C26405

Jangan tetapkan ke yang owner<T> mungkin dalam status valid (r.3)

Keterangan

Jika penunjuk pemilik sudah menunjuk ke buffer memori yang valid, penunjuk tersebut tidak boleh ditetapkan ke nilai lain tanpa merilis sumber dayanya saat ini terlebih dahulu. Penugasan tersebut dapat menyebabkan kebocoran sumber daya bahkan jika alamat sumber daya disalin ke beberapa pointer mentah (karena pointer mentah tidak boleh melepaskan sumber daya). Untuk informasi selengkapnya, lihat Panduan Inti C++.

Nama analisis kode: DONT_ASSIGN_TO_VALID

Contoh 1

Menimpa pemilik dalam perulangan:

gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
    Process(shape) ? delete shape : 0;