如何解决尝试引用已删除的函数_ gmock
我是第一次与GMock合作,我在模拟一个使用纯虚方法的类, 我从Mock类创建了一个实例
MockInterface mockIntr;
然后我需要将此模拟作为参数传递给另一个函数
func->action(std::make_shared<MockInterface>(mockIntr);
在这种情况下,我得到了错误: “ C2280:MockInterface :: MockInterface(const MockInterface&):尝试引用已删除的函数”
我不确定解决方案是在MockInterface类中创建副本构造函数,还是有解决此问题的另一种方法。
解决方法
您没有传递那个模拟,而是试图复制它并传递副本。
({make_shared<T>(x)
的意思是“从我们可以共享的T
创建新的x
”,而不是“让我们共享x
”。)
立即创建共享对象:
auto mockIntr = std::make_shared<MockInterface>();
func->action(mockIntr);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。