邪恶C++之设置成员变量的坑
有这样的代码:
1 | class Thread_Video : public QObject { |
主要是设置成员变量的方法: setSelectedROI,看起来没问题,但是实际运行的时候发现,如果有多个Thread_Video对象,使用setSelectedROI进行私有变量selectedROI设置的时候,只有第一个Thread_Video对象的selectROI对象被设置成功了,其他的Thread_Video对象的selectedROI私有变量的值都是0。
才疏学浅只找到了解决方法, 但是不知道原因。
解决方法,形参不要和私有变量名字重复,不清楚是变量拷贝问题还是作用域问题:
1 | void setSelectedROI(cv::Rect roi){ |
血泪的两小时教训。。。