一、bug描述
点击查看代码
cv::Mat undistort_image_halcon_cv2(cv::Mat& src, std::string calib_param_file = NULL);
二、原因分析
原因时类型不匹配,使用NULL(本质是#define NULL 0
)时,编译器会尝试使用空指针初始化std::string
对象
然而std::string
类型的构造函数在接收const char *
类型时,要求指针必须指向C风格字符串(包括空字符'\0'
,但NULL指针不指向任何有效的字符串内存,当使用std::String
的构造函数访问时,自然会出发内存访问异常
三、解决方法
将默认值设成空字符""