堆已损坏 opencv

A heap has been corrupted opencv

我在转义范围后收到损坏的堆错误消息。在 _CrtlsValidHeapPointer(block)

debug_heap.cpp 中调试断言失败
#include "opencv2\opencv.hpp"
#include "opencv2\nonfree\features2d.hpp"

using namespace cv;

int main(int argc, char* argv[]) {

    Mat img = imread(argv[1]);

    SurfFeatureDetector detector(400);

    vector<KeyPoint> keypoints;

    detector.detect(img, keypoints);

    return 0;
}

编辑 固定的。问题在于链接。我用的是 visual studio 2015 和 opencv 2.49 x86 vc10。 vc10 适用于 visual studio 2010。运行 visual studio 2010 中的某些程序并且工作正常。

I get corrupt heap error message after escaping scope.

如果您确定错误恰好在 } 出现,那么这不是您的代码中的问题。只是您没有正确链接 OpenCV。 x64 和 x86 之间不匹配或 C++ 运行时库之间不匹配。所以只要确保一切都连接好。