我无法使用 Google 测试ASSERT_THROW()
宏与多个模板参数相结合。考虑到我想确保Matrix<5,1>
throws:
ASSERT_THROW(Matrix<5,1>(), std::runtime_error);
(这个例子没有多大意义,当然这不应该抛出,但这是简化我所拥有的内容后留下的内容。)
我从 MS VC++ 2008 得到以下输出:
warning C4002: too many actual parameters for macro 'ASSERT_THROW'
error C2143: syntax error : missing ',' before ';'
而以下方面没有问题:
ASSERT_THROW(Matrix<1>(), std::runtime_error);
我怎样才能克服这个问题?
Thanks!
问题是多余的逗号,您需要保护它免受宏的影响。尝试
ASSERT_THROW((Matrix<5,1>()), std::runtime_error);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)