我在尝试使用BOOST 线程 1.53.0时遇到了问题。由于我是 BOOST 的新手,我现在遇到一个问题,即项目中的大型类需要进行一些线程模式处理。
在编译代码时,我不断收到错误:
error C2248: 'boost::mutex::mutex' : cannot access private member declared in class 'boost::mutex'
在线阅读的内容我发现使用Boost的lock_guard,结果如下所示
PointPorcessor processor = PointProcessor(x,y,z);
正在创建类的实例并将其分配给processor
变量。(或者我错了吗?)。这基本上意味着 boost 现在将允许复制互斥锁
班级本身
PointProcessor
{
boost::mutex mtex; // The one and only mutex
// Other members
};
我可以使用指针代替 PointProcessor* processor = new PointProcessor(x,y,z) 问题是,这是一个很大的代码库,我不想将其余的实现更改PointProcessor* processor = new PointProcessor
为它们只是PointProcessor processor = PointProcessor(x,y,z)