| description | Learn more about: Warning C26405 DONT_ASSIGN_TO_VALID | ||
|---|---|---|---|
| title | Warning C26405 | ||
| ms.date | 07/21/2017 | ||
| f1_keywords |
|
||
| helpviewer_keywords |
|
||
| ms.assetid | 2034d961-3ec5-4184-bbef-aa792e4c03c0 |
Do not assign to an
owner<T>which may be in valid state (r.3)
If an owner pointer already points to a valid memory buffer, it must not be assigned to another value without releasing its current resource first. Such assignment may lead to a resource leak even if the resource address is copied into some raw pointer (because raw pointers shouldn't release resources). For more information, see the C++ Core Guidelines.
Code analysis name: DONT_ASSIGN_TO_VALID
Overwriting an owner in a loop:
gsl::owner<Shape*> shape = nullptr;
while (shape = NextShape()) // C26405
Process(shape) ? delete shape : 0;