Вот мой код, который отлично работал в VS2005:
template <typename T> void _get(const PTree & p, T & value) const
{
std::stringstream s(p._value);
s >> value;
}
Теперь в Visual Studio 2010 у меня есть эта ошибка:
Ошибка 1, ошибка C2678: двоичный файл «>>»: не найден оператор, который принимает левый операнд типа «std :: stringstream» (или нет допустимого преобразования)
на этой строчке:
s >> value;
Что я могу сделать, чтобы решить эту проблему?
Edit:
вот глубинная ошибка:
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
]