访问冲突读取位置0xcccccccc

Access violation reading location 0xcccccccc

本文关键字:0xcccccccc 位置 读取 访问冲突      更新时间:2023-10-16

我正在尝试运行方块.cpp openCV 2.2 中的示例。该代码在 Visual Studio 2008 中编译和生成时没有错误。但是,当我运行可执行文件时(即在运行时),我收到一个错误,指出

Unhandled exception at 0x004ac363 in OpenCVRectangle.exe: 0xC0000005: Access violation reading location 0xcccccccc.

这发生在定义中:
vector<vector<Point> > squares; 在主函数中

有人可以帮忙,为什么会这样?我发现0xcccccc的值通常是一个未初始化或错误的变量,但不明白为什么我在这一行得到这个异常。

完整的示例代码可在 http://pastebin.com/MTaXVcQz

您的代码在装有OpenCV 2.3.0的Mac OS X上运行良好,但众所周知,OpenCV在不同的操作系统中呈现不同的行为。

  • 首先,检查您的代码在发布版本和调试版本中是否存在此问题。

  • 在Windows上升级到OpenCV 2.3.1,看看问题是否消失。

链接到的代码中的namedWindow是一个看起来未在此范围内定义的函数。 可能是它试图解释为尚未定义的变量,而不是函数。 我会说它缺少某种库? 如果没有进一步的背景,很难说,但vector<vector<Point> > squares;不应该是违规行为。

在VS中按Ctrl + Alt + E,启用所有异常检查,在调试模式下运行它,并查看异常发生的位置。这应该足以理解。