Мне было поручено заставить работать старый код.Он датирован 2006 годом, и я думаю, что он был написан в визуальной студии.Я получаю эту ошибку при компиляции с g ++ 4.5.2 с использованием ming32 на машине с Windows, и я получаю ту же ошибку при компиляции с g ++ 4.1.2 на машине с unix (не знаю, какой вариант)
"_ Dist_type не был объявленв этой области "
#include <algorithm>
#include <vector>
template<class ReturnType, class RandomIterator, class _Ty> inline
ReturnType interpolate(RandomIterator _F, RandomIterator _L, const _Ty& _V, RandomIterator _F2)
{
return _Dist_type(_F);
}
class Interpolator
{
public:
double interp(const std::vector<double>& xValues, const std::vector<double>& yValues,
const double x0) const
{
//1-D interpolation
return interpolate<double>(xValues.begin(), xValues.end(), x0, yValues.begin());
}
};
Я пробовал поискать в Google для _dist_Type, но там, похоже, не так много информации.Я нашел один источник, но я не уверен, насколько он может помочь.http://en.allexperts.com/q/C-1040/STL-Iterator.htm
Насколько я понимаю, _Dist_type является частью очень старой версии библиотеки STL, которой нет ни в одной сборочной машине.Как я мог решить это?Я даже не уверен, что делает функция.
Любая помощь очень ценится.