这是我的代码的一部分

int histsize=16;
float range=[0,255];
float* ranges[] = { range };
bool uniform=true;
CvHistogram* hist = cvCreateHist(1, &histsize, CV_HIST_ARRAY, ranges, uniform);


但是当我尝试执行cvCreateHist时,程序终止并抛出错误消息
* glibc检测到malloc():内存损坏:0x083109b8 **

我在Eclipse中工作,Ubuntu。请帮帮我。

最佳答案

事实是,由于以下几行,您的代码甚至不应该编译:

float range=[0,255];

bool uniform=true;1


在回答这个问题之前,我必须说,我认为您可以从这篇文章中受益匪浅:Writing the perfect question

我不知道您到底想使用该代码做什么,但是以下代码可以编译且不会崩溃:

int histsize = 16;
float range[] = { 0, 255 };
float* ranges[] = { range };
bool uniform = true;
CvHistogram* hist = cvCreateHist(1, &histsize, CV_HIST_ARRAY, ranges, uniform);

关于c - 尝试在C中使用cvCreateHist时检测到glibc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8748428/

10-11 04:38