这是我在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
]