思いますがどこなのかがわかりません。
どこかまずいところはないでしょうか?
unsigned int i;の値が lstrcpy(buf,... のところを処理するといきなり
vList.size() より大きい183157と値が書き換えられます。
void hoge_3(vector<wstring> vList, vector<CMap> *pMap )
{
vector<wstring> vHttp;
unsigned int i;
TCHAR buf[DEF_BUFSIZE];
for (i = 0; i < vList.size(); i++) {
memset(buf, 0, DEF_BUFSIZE);
lstrcpy(buf, vList.at(i).c_str());
TCHAR *p;
p = wcsstr(buf, L"http://moeimg.net/");
if (p) {
//余計なものを取り除く
hoge_3_1(&vHttp, p);
}
if (i > vList.size())
{
// バグっている
i = vList.size();
}
}
if (vHttp.size() == 0)
return; // ここで抜けるときにアクセス違反がでる
例外がスローされました。
0x001E3AC2で例外がスローされました(WCHARの練習.exe内)0xC0000005:
場所0xDDDDDDDDへの書き込み中にアクセス違反が発生しました。