迁移到VS2010时使用std :: stringstream的错误C2678

时间:2012-02-02 12:01:58

标签: c++ visual-studio-2010 stringstream visual-c++-2010

这是我在VS2005中运行良好的代码:

template <typename T> void _get(const PTree & p, T & value) const
{
    std::stringstream s(p._value);
    s >> value;
}

现在,在Visual Studio 2010中出现此错误:

  

错误1错误C2678:二进制'&gt;&gt;' :没有找到哪个运算符采用'std :: stringstream'类型的左手操作数(或者没有可接受的转换)

就行:

s >> value;

我该怎么做才能解决这个问题?

编辑: 这是深度错误:

while trying to match the argument list '(std::stringstream, btVector3)'
ptree.h(162) 
: see reference to function template instantiation 'void PTree::_get<T>(const PTree &,T &) const' being compiled
with
[
    T=btVector3
]
errorfile.cpp(240)
: see reference to function template instantiation 'bool PTree::get<btVector3>(const std::string &,T &) const' being compiled
with
[
    T=btVector3
]

0 个答案:

没有答案