gpt4 book ai didi

c++ - EXPECT_EQ 错误

转载 作者:行者123 更新时间:2023-11-28 04:50:38 25 4
gpt4 key购买 nike

我正在使用谷歌测试函数 EXPECT_EQ 来运行函数的测试用例。函数“find”返回一个列表并接受要查找的名称的字符串。这是我的测试函数:

TEST_F(test_neighborhood, find) {
list<Man> test;
test.push_back(Man("username", "John", "Smith", 1, 1, ""));
EXPECT_EQ(neighborhood.find("John"), test);
}

但是当我尝试“制作”时,它给了我一个很长的错误/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:665:71: 错误:无效 二进制表达式的操作数('const Man' 和 'const Man') bool operator()(const _T1& __x, const _T1& __y) const {return __x == __y;}

我没有正确使用 EXPECT_EQ 吗?如何修复此错误?

最佳答案

EXPECT_EQ 要求为传递的项定义相等运算符。 std::list 已经有这样一个运算符,为每个存储项调用相等运算符。因此,您似乎需要定义 operator == 来比较 Man 类的两个实例是否相等:

bool operator ==(Man const & left, Man const & right)

关于c++ - EXPECT_EQ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com