我正在使用一个结构来支持 Windows SOCKET 列表:
struct ConnectedSockets{
std::mutex lock;
std::list<SOCKET> sockets;
};
当我尝试编译此文件(Visual Studio 2012)时,出现以下错误:
“错误 C2248:std::mutex::operator =
无法访问类中声明的“私有”成员'std::mutex'
"
有人知道如何解决这个问题吗?
A std::mutex
不可复制,因此您需要实施operator=
for ConnectedScokets
你自己。
我想你想保留一个mutex
每个实例ConnectedSockets
,所以这应该足够了:
ConnectedSockets& operator =( ConnectedSockets const& other )
{
// keep my own mutex
sockets = other.sockets; // maybe sync this?
return *this;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)