--- title: C26486 ms.date: 12/14/2018 ms.topic: "conceptual" f1_keywords: ["C26486"] helpviewer_keywords: ["C26486"] ms.assetid: d5395efc-5eb2-4e82-9b45-fcd5ff4577bf author: kylereedmsft ms.author: kylereed --- # C26486 LIFETIMES_FUNCTION_PRECONDITION_VIOLATION Don't pass a pointer that may be invalid (dangling) as a parameter to a function. ```cpp void use(int*); void ex1() { int* px; { int x; px = &x; } use(px); // px is a dangling pointer } ``` ## Remarks The Lifetime guidelines from the C++ core guidelines outline a contract that code can follow which will enable more thorough static memory leak and dangling pointer detection. The basic ideas behind the guidelines are: - Never dereference an invalid (dangling) or known-null pointer - Never return (either formal return or out parameter) any pointer from a function. - Never pass an invalid (dangling) pointer to any function. ## See also - [C++ Core Guidelines Lifetimes Paper](https://github.com/isocpp/CppCoreGuidelines/blob/master/docs/Lifetime.pdf)