vector数组溢出问题

豆子DXS 2018-12-06 07:51:47


vector数组溢出问题,1、也许是vector使用不当2、vector作为函数参数返回错误使用,求大神指点,已经研究2个多星期了,总是这个问题
...全文
628 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆子DXS 2018-12-08
  • 打赏
  • 举报
回复

defect(edgf_cable, gradient_size, pixel_num, mindet_area, sec_graythreshold, &b_defect_num, detect_matrix);
detect_matrix中的值在最底层中是可以输出的,如图所示
豆子DXS 2018-12-08
  • 打赏
  • 举报
回复
@风轻云淡:最底层函数
defect(edgf_cable, gradient_size, pixel_num, mindet_area, sec_graythreshold, &b_defect_num, detect_matrix);

其中detect_matrix是有值输出的,b_defect_num的值为5
另一个cable_get.cpp
void defect( Mat cable, float gradient_size, float pixel_num, float mindet_area, int sec_graythreshold, int *defect_num, vector<vector<double>> &detect_matrix);

void cable_get( Mat I2,Mat BW,Mat rotateImg, float pixel_num,float drum_bag, float fine_neck,double *od,Mat *divI1,Mat *divI2,double *bump_od,int *bump_num,
vector<vector<double>> &bump,int *defect_num,int *defect_num_splice,vector<vector<double>>&detect_matrix,vector<vector<double>>&detect_matrix_splice)
{ 。。。。。。。。。。。。。。。。。
defect(edgf_cable, gradient_size, pixel_num, mindet_area, sec_graythreshold, &b_defect_num, detect_matrix);}
其中b_defect_num的值都传过来了,但是detect_matrix的尺寸为0,我怀疑是不是我使用vector 出错
@风轻云淡_ 2018-12-07
  • 打赏
  • 举报
回复
看了这部分代码,发现了这几个问题:你的代码里面这么多 ...[t][2] ...[t][3] 你就一定能保证这个下标是可以访问的吗,此为一;你用两个 ...[t][2] ...[t][3] 值作为开始和结束去控制i来读取b_edge,同样你怎么就能保证它安全访问呢,此为二;你用 ...[t][3] - ...[t][2] 作为分母,会不会出现为分母0 的情况呢,你没有加以判断,此为三;试着从这几方面出发,看看能不能解决你的问题,你提供的信息很有限。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧