尝试引用已删除的函数 _ gmock
attempt to reference a deleted function _ gmock
我是第一次使用 GMock,我正在使用纯虚拟方法模拟 class,
我从 Mock class
创建了一个实例
MockInterface mockIntr;
然后我需要将这个 mock 作为参数传递给另一个函数
func->action(std::make_shared<MockInterface>(mockIntr);
在这种情况下,我得到了错误:
“C2280:MockInterface::MockInterface(const MockInterface&):尝试引用已删除的函数”
我不确定解决方案是在 class MockInterface 中创建一个复制构造函数,还是有其他方法可以解决这个问题。
您没有通过 那个 模拟,您正在尝试复制它并通过副本。
(make_shared<T>(x)
的意思是“从 x
创建一个我们可以共享的新 T
”,而不是“让我们共享 x
”。)
立即创建共享对象:
auto mockIntr = std::make_shared<MockInterface>();
func->action(mockIntr);
我是第一次使用 GMock,我正在使用纯虚拟方法模拟 class, 我从 Mock class
创建了一个实例MockInterface mockIntr;
然后我需要将这个 mock 作为参数传递给另一个函数
func->action(std::make_shared<MockInterface>(mockIntr);
在这种情况下,我得到了错误: “C2280:MockInterface::MockInterface(const MockInterface&):尝试引用已删除的函数”
我不确定解决方案是在 class MockInterface 中创建一个复制构造函数,还是有其他方法可以解决这个问题。
您没有通过 那个 模拟,您正在尝试复制它并通过副本。
(make_shared<T>(x)
的意思是“从 x
创建一个我们可以共享的新 T
”,而不是“让我们共享 x
”。)
立即创建共享对象:
auto mockIntr = std::make_shared<MockInterface>();
func->action(mockIntr);