65,184
社区成员




char *fun1()
{
return new char[10];
}
void fun2(char *p)
{
if(NULL != p)
printf("%s\n",p);
//如果不在这里delete p算内存泄漏吗?
}
int main()
{
fun2(fun1());
return 0;
}
char *fun1()
{
return new char[10];
}
template<class T>
void fun2(T *p)
{
if(NULL != p)
printf("%s\n",p);
//如果我修改为delete
delete p;
}
int main()
{
fun2(fun1());
short a = 0x01;
fun2(&a);//怎么让这种情况复用代码
return 0;
}
[/quote]
你们没有发现这个delete有问题吗?
char *fun1()
{
return new char[10];
}
template<class T>
void fun2(T *p)
{
if(NULL != p)
printf("%s\n",p);
//如果我修改为delete
delete p;
}
int main()
{
fun2(fun1());
short a = 0x01;
fun2(&a);//怎么让这种情况复用代码
return 0;
}