我想创建一个别名到CPPUNIT_ASSERT_EQUAL_MESSAGE(string message, T expected, T actual)
。我想:为函数创建别名
template<class T> void (&_assert)(string, T, T) = &CPPUNIT_ASSERT_EQUAL_MESSAGE;
不知道它的都没错,但我得到这样的错误
Error 1 error C2530: '_assert' : references must be initialized h:\dropbox\sch\cs3202\code\test\testqueryevaluator\testgetcandidatelist.h 22
Error 2 error C2998: 'void (__cdecl &__cdecl _assert)(std::string,T,T)' : cannot be a template definition h:\dropbox\sch\cs3202\code\test\testqueryevaluator\testgetcandidatelist.h 22
请告诉我正确的语法?
你确定'CPPUNIT_ASSERT_EQUAL_MESSAGE'是一个函数而不是*宏*吗? – phoeagon 2013-02-17 12:29:56
我不确定其实......我怎么知道? – 2013-02-17 13:16:30