- PR -

C++でのメモリ不正アクセスによる例外発生について

1
投稿者投稿内容
ハネ
常連さん
会議室デビュー日: 2002/01/09
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2003-08-13 22:38
C++にて以下のようなコードがあったとします。
SetA()の引数にてメモリへの不正アクセスが発生しているにも
関わらず、例外が発生する時としない時があります。
何か原因等がわかる方がいましたら教えて頂けませんか?
=======================================================
void DoA( )
{
char szBuf[10];
CopyMemory(szBuf, "1234567890", sizeof(szBuf));
SetA(szBuf+10);
}

void SetA(char* lpszBuf)
{
char* lpszBuf2 = new char[20+1];
CopyMemory(lpszBuf2, lpszBuf, 20);
lpszBuf2[20]='\0';
}
=======================================================
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-08-14 08:00
> メモリへの不正アクセス

C++の場合、変数単位でアクセスのチェックをしているわけではないので、
必ず例外が発生するわけではありませんよ。
1

スキルアップ/キャリアアップ(JOB@IT)