我有一个向量std::unique_ptr
std::vector<std::unique_ptr<k_ctrl_t>> _kitchens;
for (int i = 0; i < (int)_kitchens.size(); i++)
{
if (FD_ISSET(_kitchens[i]->socket, &this->_readfds))
{
handleKitchenRet(std::cref<std::unique_ptr<k_ctrl_t>>(_kitchens[i]));
}
}
void Reception::handleKitchenRet(std::unique_ptr<k_ctrl_t> kitch)
{
...
}
但这不起作用,我怎么能那样做呢?
错误消息:error:use of deleted function'std::unique_ptr<_tp,_dp>::unique_ptr(const std::unique_ptr<_tp,_dp>&) [with_tp=kitchen_control_s;_dp=std::default_delete
void receiver::HandleKitchenRet(std::unique_ptr
按值获取unique_ptr
。 若要引用它,请将签名更改为void receiver::handleKitchenRet(std::unique_ptr
。