能够输出,但在delete 是出错
#include <iostream>
using namespace std;int main()
{
char * filename = new char [10];
filename = "aaaa";
cout << filename << endl; delete [] filename;
return 0;}
#include <iostream>
using namespace std;int main()
{
char * filename = new char [10];
filename = "aaaa";
cout << filename << endl; delete [] filename;
return 0;}
using namespace std;int main()
{
char * filename = new char [10];
strcpy(filename, "aaaa");
cout << filename << endl; delete [] filename;
return 0;}
strcpy(filename,"aaaa");
就可以了
filename = "aaaa"; //字符串常量,首地址赋给filename 简单地说,你本来申请了一段可以delete的空间,但是后来这个指针被你指到其他地方去了,新指向的空间不是你动态分配的不能delete,而你new 出来的10字节空间再也无法delete了,造成内存泄漏