This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
returning address of local variable or temporary
A function returns the address of a local variable or temporary object. Local variables and temporary objects are destroyed when a function returns, so the address returned is not valid.
Redesign the function so that it does not return the address of a local object.
The following sample generates C4172:
// C4172.cpp
// compile with: /W1 /LD
float f = 10;
const double& bar() {
// try the following line instead
// const float& bar() {
return f; // C4172