如何将std :: wstring与std :: istringstream一起使用?

Nav*_*een 3 c++ stl stream

我正在尝试编写一个模板函数,它将从给定的字符串中提取给定数据类型的值.我提出了这样的事情:

   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;
    }
Run Code Online (Sandbox Code Playgroud)

但是这会给iss.str(value)语句带来以下错误.

错误C2664:'void std :: basic_istringstream <_Elem,_Traits,_Alloc> :: str(const std :: basic_string <_Elem,_Traits,_Ax>&)':无法将参数1从'std :: wstring'转换为'const std :: basic_string <_Elem,_Traits,_Ax>&'

所以基本上std::istringstream只接受std::string.我以为可能有一个,std::wistringstream但似乎没有一个可用.任何线索我该怎么办?

Lou*_*nco 6

我的编译器有wistringstream - 这就是它的全部内容:

typedef basic_istringstream<wchar_t> wistringstream;