记录一次BOOST库相关的使用包含互斥量、条件变量的类,引发的编译报错

1. 工作中的代码: 

2. 

使用指针作为形参,不会造成编译报错,我是可以理解的。

那么请讨论下为什么使用值传递和引用作为形参,会造成编译报错?

3. 答案揭晓

boost 的mutex源码:

最终原因:

我的input_dev_param没有实现拷贝构造函数 ,而编译器默认提供的构造函数会调用各个成员对象的拷贝构造函数,

但是通过boost库的源码我们看到:该mutex类的拷贝构造函数被禁用了。

 

解决方案(二选一):

1. 实现出我的input_dev_param类的拷贝构造函数 

2. 此处不要使用值传递

.

/************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/
原文地址:https://www.cnblogs.com/happybirthdaytoyou/p/13922399.html