读取字符串的字符时出错-访问冲突错误C++
Error reading character of string - Access violation error C++
我在C++中处理Kinect v2相关项目,而我不能在函数外使用深度帧(BYTE*)。
它在最初的几分钟内有效,我想运气不错。
然后我出现了错误,比如:
读取字符串的字符时出错
和访问违规错误,并且在某个时间点没有为kinect20.dll加载符号。
这是我调用值的方法。
BYTE* bodyIndex = new BYTE[512*424]; // initialization
HRESULT frameGet(){
//Initialization method if success
hr = pDepthFrame->AccessUnderlyingBuffer(&m_nDepthBufferSize, &bodyIndex); //Kinect dll method
prints(depth[300]); // Prints the value every time
return hr;
}
HRESULT getDepthFrame(){
if frameGet is success
prints(bodyIndex[300]); // throws error reading character of string
return hr;
}
有人能解释一下我如何每次都能访问bodyIndex数据吗。
当发布完整的代码时,我没有得到任何回应,所以我需要c++的工作原理。
如果假设是正确的,深度数据有时会被kinectdll清理,这样它就会反映出来。
我试着记住错误仍然存在。
提前谢谢。
根据https://msdn.microsoft.com/en-us/library/microsoft.kinect.kinect.idepthframe.accessunderlyingbuffer.aspx
你不需要分配内存。
获取指向深度帧数据的指针。
public: HRESULT AccessUnderlyingBuffer( UINT *capacity, UINT16 **buffer )
buffer Type:UINT16[out]当此方法返回时,包含指向深度帧数据的指针。
如果我正确理解规范,您总是在访问它之前调用AccessUnderlyingBuffer()
。
相关文章:
- 使用 EvtSetChannelConfigProperty() 函数时出现访问冲突错误
- cv::resize() 失败并出现访问冲突错误(由 NULL> 处的 <struct 引起)
- 将 std::string 作为参数从一个 DLL 传递到另一个 DLL 引发访问冲突错误
- 遵循官方 Direct2D 示例,但出现访问冲突错误
- C++ 抛出读取访问冲突错误,但我不确定为什么。平铺滑块益智游戏
- 为什么我的顶点缓冲区对象出现访问冲突错误?
- 销毁 Box2D 主体 - 读取访问冲突错误
- 编译哈希算法时出现内存访问冲突错误
- 使用glCreateBuffers时发生访问冲突错误
- 访问冲突错误在 (而 (info[x] != ))
- 反转字符串 c++ 时出现访问冲突错误
- 我无法弄清楚此访问冲突错误.有人可以在这里帮助我吗?
- 使用内存访问冲突错误
- 读取字符串的字符时出错-访问冲突错误C++
- 创建链接列表时发生访问冲突错误
- 调试优先级队列程序时出现访问冲突错误
- C++LinkedList错误:访问冲突错误
- 为什么我在用SDL2_ttf填充文本时出现访问冲突错误
- MFC:在工作线程中使用对象的成员函数时获取访问冲突错误
- 在C++中使用Box2D物理退出游戏时出现访问冲突错误