Freigeben über


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;