【发布时间】:2018-08-06 09:06:35
【问题描述】:
我有以下需要模拟的课程:
#include <gmock/gmock.h>
#include <gtest/gtest.h>
class Callback
{
public:
Callback(): calls(0)
{}
void mcallback(std::unique_ptr<int> rpely)
{
calls++;
}
uint32_t calls;
};
class MockCallBack : public Callback
{
public:
MOCK_METHOD1(mcallback, void(std::unique_ptr<int>));
};
我得到以下错误:
error C2280: 'std::unique_ptr<int,std::default_delete<_Ty>>::unique_ptr(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)': attempting to reference a deleted function
1> with
1> [
1> _Ty=int
1> ]
如何模拟相关函数?
【问题讨论】:
-
这个问题不是引用问题的重复。那个是关于在返回类型中使用
unique_ptr而不是作为参数类型,这就是这个问题的情况。