Передача указателя на функцию-член C ++ в алгоритм STL

У меня есть функция-член следующим образом:

class XYZ{
public:
    float function(float x);
private:
    float m_DensityMin;
    float m_DensityMax;
};

Теперь я пытаюсь преобразоватьstd::vector<float> foo с использованиемstd::transform Алгоритм STL, передавая функцию-членfunctionи сохраняя полученные значения в вектореbar.

Если я использую функцию как глобальную функцию со случайными данными, которые должны обозначать переменные-члены класса, она работает нормально.

Однако, поскольку функция требует использования переменных-членовm_DensityMin а такжеm_DensityMax класса, мне нужно использовать его в качестве функции-члена. Вот что я пробовал:

std::transform(foo.begin(), foo.end(), bar.begin(), &XYZ::function);

но я в конечном итоге с ошибкой в ​​VS2010:

error C2065: term does not evaluate to a function taking 1 arguments

Насколько я могу сказать, я передаю только 1 аргумент. Есть указатели? Вот похожийвопросЯ пробовал с std :: mem_fun, так как std :: mem_fn мне не доступен, но безрезультатно.

Ответы на вопрос(3)

Ваш ответ на вопрос