我有一个视频 C++ 回调函数,其中参数在几个小时后突然改变。在调试中,它将对此断言:
void CCameraInstance::VideoCallback(void *pContext, unsigned char *pBuffer, long nWidth, long nHeight, long nFrameErrorNo)
{
assert(nWidth < 4000);
CCameraInstance *pThis = (CCameraInstance*)pContext;
pThis->PaintFrame(pBuffer, nWidth, nHeight, nFrameErrorNo);
}
当调试器在断言上中断时,nWidth 具有很大的无效值。但是,nHeight 是 320(宽度值),nFrameErrorNo 是 240(nHeight 值)。
参数如何以这种方式发生变化?