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

 

1. 工作中的代码: 

 

2. 

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

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

 

3. 答案揭晓

boost 的mutex源码:

最终原因:

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

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

 

解决方案(二选一):

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

2. 此处不要使用值传递

 

 

 

.

posted @ 2020-11-03 20:38  一匹夫  阅读(126)  评论(0编辑  收藏  举报