, 나는 액세스 위반 예외가액세스 위반 OpenCV의 C++ 나 C++에 새로 온 사람 DLL
Image::Image(IplImage* pIplImage, bool bDestroy)
: m_bOwned(bDestroy)
{
memcpy(static_cast< IplImage* >(this), pIplImage, sizeof(IplImage));
if (bDestroy)
cvReleaseImageHeader(&pIplImage);
}
을 다음과 소멸자가
Image::~Image()
{
if (m_bOwned)
cvFree(reinterpret_cast< void** >(&imageDataOrigin));
}
같이 생성자입니다
편집 1 : 클래스 정의
class VISION_EXPORT Image
: public IplImage
, private boost::noncopyable
{
public:
explicit Image(IplImage* pIplImage, bool bDestroy = true);
~Image();
private:
bool m_bOwned;
};
그것은 작동했다 전에,하지만 지금은 내가 dll로 내보낼 때 .. 그것은 더 이상 작동하지 않습니다. 도와 주시겠습니까?
왜 라이브러리가 이미 C++ 인터페이스를 제공 할 때 OpenCV 이미지 구조에 대해 자체 C++ 래퍼가 필요합니까? –
미들웨어의 일부이며 그대로 사용해야합니다. –
어디에서 액세스 위반이 발생합니까? IT 부서는 배열의 끝에서부터 힙을 통해 작성하여 후속 할당이 액세스 위반을 유발할 수 있습니다. – Goz