Warnung C26405
Nicht einem
owner<T>
gültigen Zustand zuweisen (r.3)
Hinweise
Wenn ein Besitzerzeiger bereits auf einen gültigen Speicherpuffer verweist, darf er keinem anderen Wert zugewiesen werden, ohne seine aktuelle Ressource zuerst freizugeben. Eine solche Zuordnung kann zu einem Ressourcenleck führen, auch wenn die Ressourcenadresse in einen unformatierten Zeiger kopiert wird (da rohe Zeiger keine Ressourcen freigeben sollten). Weitere Informationen finden Sie in den C++-Kernrichtlinien.
Codeanalysename: DONT_ASSIGN_TO_VALID
Beispiel 1
Überschreiben eines Besitzers in einer Schleife:
gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
Process(shape) ? delete shape : 0;