【发布时间】:2011-05-28 15:58:22
【问题描述】:
我无法将 Google Test 的 ASSERT_THROW() 宏与多个模板参数结合使用。考虑到我想确保 Matrix<5,1> 的构造抛出:
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);
我该如何克服这个问题?
谢谢!
【问题讨论】:
-
欺骗? stackoverflow.com/questions/4295890/…(提前一个月问)
标签: c++ macros googletest