我定义了一个函数:
template<class T>
inline void _assert(const string& message, T expected, T actual);
我一直在用它来断言 2 个整数是相等的。但是当我有:
_assert("Modifies(15, v) for v value", "h", varTable->getVarName(list.at(0)));
^ returns std::string
它不起作用:
Error 1 error C2782: 'void _assert(const std::string &,T,T)' : template parameter 'T' is ambiguous h:\dropbox\sch\cs3202\code\test\testqueryevaluator\testgetcandidatelist.cpp 183
为什么?2个字符串不是同一类型?