相关疑难解决方法(0)

如何将互斥锁用作成员变量?如果没有复制,“ simple_encoder”的构造函数将被隐式删除

您好,我正在尝试创建一个多线程编码器,它需要一个互斥锁,并且我希望该互斥锁成为该类的成员。但是,我不断得到: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)

c++ mutex

2
推荐指数
1
解决办法
868
查看次数

标签 统计

c++ ×1

mutex ×1