【发布时间】:2015-08-20 09:14:14
【问题描述】:
我想通过对象引用传递函数的参数。如果我这样写代码:
#include <boost\thread\thread.hpp>
class Data
{
public:
Data();
~Data();
void func(boost::mutex &mut);
private:
boost::condition_variable condData;
boost::mutex mutData;
};
void Data::func(boost::mutex &mut)
{
Data* data = this;
data->mutData = mut;// Here a syntax error
}
这里data->mutData = mut;显示错误
Error: "boost::mutex &boost::mutex:.Operator=(boost::mutex &)" can not be accessed 等号。
如何解决这个问题?
【问题讨论】:
-
不是直接相关,但您使用的是 C++11?如果是这样,请使用
std::thread等。但是像你这样的编译错误很可能是由于对象的误用;有关使用boost::mutex的正确方法,请参阅 boost 文档(比以前更好)。还有一个公平的问题,再加上一个。
标签: c++ object boost reference