我在尝试将wchar_t字符数组存储在全局数组中时遇到问题, 下面是我想要做的代码: -
Unhandled exception at 0x765CE2C3 (usp10.dll) in Win32Project4.exe: 0xC0000005: Access violation reading location 0xCDCDCDCD." is occuring below at the TextOut function, WinList = 0x002802a0 {0xcdcdcdcd <Error reading characters of string.>} : -
错误:
case WM_PAINT:
if (WinList != nullptr)
{
PAINTSTRUCT ps;
HDC hDC = BeginPaint(hwnd, &ps);
for (int iLoop = 0; iLoop != sizeof(WinList); iLoop++)
{
TextOut(hDC, 5, iLoop*10, WinList[iLoop], (sizeof(WinList[iLoop]) / sizeof(wchar_t)));
}
}
break;
$('#product-grid').jscroll({
debug: true,
autoTriggerUntil: 2,
nextSelector: '.pager a:last',
contentSelector: '.product-grid',
callback:call()
});
function call()
{
alert("hi");
$("img.lazy").lazyload();
}
我尝试过使用malloc和mcscpy之类的函数和代码的各种变体。然而,我似乎误解了我认为的指针范围。我似乎无法理解它。任何解释都将非常感激。我正在使用VS 2013,这更像是一种学习概念而不是更好的方法。不过,我也很欣赏“更好的方法”解决方案。
此致
HonkeyPig
答案 0 :(得分:0)
您的主要问题是您将回调函数的结果存储在本地变量中,并在返回时立即丢弃。
除此之外
(sizeof(**WinList) / sizeof(wchar_t))
是exactly sizeof(pointer)/2
,在32位架构上是2 ....