class A
{
char *name;
public:
A();
A(char*);
~A();
};
A::A()
{
}
A::A(char* s)
{
int k=strlen(s);
name=new char[k+1];
strcpy_s(name,k+1,s);
}
A::~A()
{
if(name!=NULL)
delete[] name;
}
int _tmain(int argc, _TCHAR* argv[])
{
A *v=new A[20];
delete[] v;
system("pause");
return 0;
}
実行時に次のエラーが表示されます: test212.exe の 0x5B987508 (msvcr110d.dll) で未処理の例外: 0xC0000005: 場所 0xCDCDCDC1 を読み取るアクセス違反。 これは明らかにメモリの問題ですが、このコード例で何が起こるか教えていただけますか?