与 BOOST_CHECK_EQUAL 比较会报错:
error C2679: binary '<<': 没有找到取'const Point'类型右操作数的运算符(或可接受的转换
void IsPointsEqual(const Point &point1, const Point &point2)
{
BOOST_CHECK_EQUAL(point1, point2);
}
与 BOOST_CHECK_EQUAL 比较会报错:
error C2679: binary '<<': 没有找到取'const Point'类型右操作数的运算符(或可接受的转换
void IsPointsEqual(const Point &point1, const Point &point2)
{
BOOST_CHECK_EQUAL(point1, point2);
}
如消息所示,您必须为您的结构定义一个
Pointlperatoroperator <<。例如,
该运算符的实际定义方式取决于您。我只是假设该结构有两个数据成员
x和y.事实上,最好不要将此工具用于这些目的
Boost,而只是自己定义operator ==和 运算符operator <。这两个运算符足以进行其他类型的比较。例如,
如果结构的成员是私有的,则将这些运算符声明为结构的友元函数。