You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Learn more about: C26489 LIFETIMES_DEREF_INVALID_POINTER
title
C26489
ms.date
12/14/2018
ms.topic
conceptual
f1_keywords
C26489
helpviewer_keywords
C26489
ms.assetid
15983d4f-f615-42e7-8521-ee094b87d066
author
kylereedmsft
ms.author
kylereed
C26489 LIFETIMES_DEREF_INVALID_POINTER
Don't dereference a pointer that may be invalid.
intex1()
{
int* px;
{
int x = 0;
px = &x;
}
return *px; // 'px' was invalidated when 'x' went out of scope.
}
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.