记录一次BOOST库相关的使用包含互斥量、条件变量的类,引发的编译报错
1. 工作中的代码:
2.
使用指针作为形参,不会造成编译报错,我是可以理解的。
那么请讨论下为什么使用值传递和引用作为形参,会造成编译报错?
3. 答案揭晓
boost 的mutex源码:
最终原因:
我的input_dev_param没有实现拷贝构造函数 ,而编译器默认提供的构造函数会调用各个成员对象的拷贝构造函数,
但是通过boost库的源码我们看到:该mutex类的拷贝构造函数被禁用了。
解决方案(二选一):
1. 实现出我的input_dev_param类的拷贝构造函数
2. 此处不要使用值传递
.
/************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/