我正在尝试将字符串转换为数字。为此,我找到了以下方法:
#include <iostream>
#include <string>
template <typename T>
T stringToNumber(const std::string &s)
{
std::stringstream ss(s);
T result;
return ss >> result ? result : 0;
}
int main()
{
std::string a = "254";
int b = stringToNumber(a);
std::cout << b*2 << std::endl;
}
问题是我收到以下错误:
错误:没有匹配的函数可用于调用“stringToNumber(std::string&)”
谁能告诉我为什么会出现这样的错误以及如何修复它?
先感谢您。
Try
int b = stringToNumber<int>(a);
因为模板类型T
不能从任何参数推导出来(在这种情况下std::string
)你需要明确定义它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)