Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
devolución de dirección de la variable local o temporal: optional_context
Observaciones
Una función devuelve la dirección de una variable local o un objeto temporal. Las variables locales y los objetos temporales se destruyen cuando se devuelve una función, por lo que la dirección devuelta no es válida.
Vuelva a diseñar la función para que no devuelva la dirección de un objeto local.
Ejemplo
El ejemplo siguiente genera el error C4172:
// C4172.cpp
// compile with: /c /W1
const int* func1()
{
int i = 42;
return &i; // C4172
}
float f = 1.f;
const double& func2()
// Try one of the following lines instead:
// const float& func2()
// const auto& func2()
{
// The problem is that a temporary is created to convert f to a double.
// C4172 in this case refers to returning the address of a temporary.
return f; // C4172
}