您好,我正在尝试创建一个多线程编码器,它需要一个互斥锁,并且我希望该互斥锁成为该类的成员。但是,我不断得到:copy constructor of 'simple_encoder' is implicitly deleted because field 'm_mutex' has an inaccessible copy constructor编译时出现错误消息。经过一个小时的搜索,我找不到我的错误。
请为喜欢的东西提供帮助,我的构造函数和成员如下所示:
namespace master_thesis
{
class simple_encoder
{
public:
simple_encoder(uint32_t symbols, uint32_t symbol_size, fifi::api::field field,
std::vector<uint8_t> data) :
m_symbols(symbols), m_symbol_size(symbol_size),
m_completed(0), m_field(field), m_data(data)
{
}
...
private:
uint32_t m_symbols;
uint32_t m_symbol_size;
uint32_t m_completed;
fifi::api::field m_field;
std::mutex m_mutex;
std::vector<uint8_t> m_data;
std::vector<std::vector<uint8_t>> m_result;
std::vector<std::shared_ptr<kodo_rlnc::full_vector_encoder>> m_encoders;
};
}
Run Code Online (Sandbox Code Playgroud)