我正在尝试编写一个模板函数,它将从给定的字符串中提取给定数据类型的值。我想到了以下代码:
template<class T>
static T getValue(const CString& val_in)
{
std::wstring value = val_in;
std::istringstream iss;
iss.str(value);
T val = T();
iss>>val;
return val;
}
但是,对于
iss.str(value)
语句会产生以下错误。
因此,基本上error C2664: 'void std::basic_istringstream<_Elem,_Traits,_Alloc>::str(const std::basic_string<_Elem,_Traits,_Ax> &)' : cannot convert parameter 1 from 'std::wstring' to 'const std::basic_string<_Elem,_Traits,_Ax> &'
std::istringstream
只接受std::string
。我认为可能会有一个std::wistringstream
,但似乎没有可用的。有什么线索可以帮助我吗?
wistringstream
?请参考27.7 [lib.string.streams]。 - CB Bailey