#include <iostream>
int* createPointer() {
int* ptr = new int;
*ptr = 42;
return ptr;
}
int* cp2() {
int x = 24;
return &x;
}
int main() {
int* myPtr = createPointer();
int* mp = cp2();
std::cout << *myPtr << ' ' << *mp << std::endl;
delete myPtr;
return 0;
}
这个程序输出了42 24的结果,并正常返回0。
但是为什么出现了Warning:
In function 'int* cp2()':
[Warning] address of local variable 'x' returned [-Wreturn-local-addr]
我想知道这个Warning可能会造成什么后果