static char * ToString(int DaValue){
char HaChar[32];
sprintf_s(HaChar, "%d", DaValue);
return HaChar;
}
VS2005出现警告:returning address of local variable or temporary
虽然说不安全,但是可以执行,
但是如何解决这个安全问题?
可能会多个线程执行ToString,或者执行多次,使用静态HaChar肯定不适合
static void ToString(int DaValue, char DaChar[]){
sprintf_s(DaChar, "%d", DaValue);
}
这样的代码感觉不太适合理解,如何?
解决方法如下:
char * ToString(int DaValue){
static
char HaChar[32];
sprintf_s(HaChar, "%d", DaValue);
return HaChar;
}