我正在尝试创建一个函数来解析 XML 并返回 astd::string
或int
使用模板。我想出了以下代码:
template <class T>
T queryXml(char *str)
{
if (typeid(T) == typeid(int))
return evalulate_number(doc);
else
return evaluate_string(doc);
}
...并像这样调用函数:
queryXml<int>("/people/name"); //I would like an int returned
queryXml<std::string>("/people/name"); //I would like a string returned
但我得到错误说cannot convert pugi::string_t{aka std::basic_string<char>} to int in return
。有没有更好更干净的方法来使用模板来做到这一点?谢谢!