在运行程序时出现警告:warning C4172: returning address of local variable or temporary。怎样修改?

如题所述

某函数返回的是局部变量的地址,因为局部变量在函数退出时就被mark为无效了,所以函数结束后所返回的这个地址不能确保包含能被接下来的代码使用的正确的值。

比如:
char* f(){ char a[] = "123"; return a; }

具体怎么修改要你把代码贴出来才好帮你解决
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-17
char *get_string_1()
{
char p[200]="hello world";
return p;
}
这个要怎么改?
第2个回答  2013-11-17
要看你的程序是怎么样的嘛
相似回答