C++ 检查模板类实例的基本相等比较时,boost测试无法编译

C++ 检查模板类实例的基本相等比较时,boost测试无法编译,c++,unit-testing,boost,visual-studio-2015,boost-test,C++,Unit Testing,Boost,Visual Studio 2015,Boost Test,我使用的是VS 2015.3和boost 1.64,代码如下: #定义增压测试模块脚踏板 #定义BOOST_TEST_MAIN #包括 名称空间n_foo { 模板struct 杜福 { int val{0}; }; 模板自动 运算符==(t_Fooconst&left,t_Fooconst&right) { 返回(left.val==right.val); } 模板auto& 运算符只需在有问题的语句中添加一个额外的括号,如下所示:BOOST_TEST((left==right)),或多或少地

我使用的是VS 2015.3和boost 1.64,代码如下:

#定义增压测试模块脚踏板
#定义BOOST_TEST_MAIN
#包括
名称空间n_foo
{
模板struct
杜福
{
int val{0};
};
模板自动
运算符==(t_Fooconst&left,t_Fooconst&right)
{
返回(left.val==right.val);
}
模板auto&

运算符只需在有问题的语句中添加一个额外的括号,如下所示:
BOOST_TEST((left==right))
,或多或少地解释了我无法重现您的问题,当复制粘贴时,它运行良好。它通过了测试,但抱怨内存泄漏。使用VS2017社区和MSVC14.1上的Boost 1.63 64位版本,请查看下面的链接,以前问过的几乎相同的问题,关于如何比较对象以及如何避免这似乎是VS2015编译器的问题,毕竟。。。