16,472
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<tchar.h>
#include<windows.h>
using namespace std;
void AllocateMem( TCHAR **Addr);
class A
{
public:
TCHAR *StrSource;
void test()
{
TCHAR *Addr = L"aaa";
StrSource = new TCHAR[ _tcslen(Addr) +1];
CopyMemory(StrSource,Addr,(_tcslen(Addr) + 1) * sizeof(TCHAR) );
AllocateMem( &Addr );
}
};
class B
{
public:
TCHAR *StrSource;
void test()
{
TCHAR *Addr = L"bbb";
StrSource = new TCHAR[ _tcslen(Addr) +1];
CopyMemory(StrSource,Addr,(_tcslen(Addr) + 1) * sizeof(TCHAR) );
AllocateMem( &StrSource );
}
};
void main()
{
A a;
B b;
a.test();
b.test();
a.test();
cout<<"test ok"<<endl;
}
void AllocateMem( TCHAR **Addr)
{
if( *Addr != NULL )
{
TCHAR *TempStr = new TCHAR[ 100 ];
//**************** 出错 ****************
delete [] (*Addr);
//**************** 出错 ****************
*Addr = TempStr;
}
}