Passando um ponteiro de função de membro C ++ para um algoritmo STL

Eu tenho uma função de membro da seguinte maneira:

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

Agora, estou tentando transformar umstd::vector<float> foo usando ostd::transform Algoritmo STL passando a função de membrofunctione armazenando os valores resultantes em um vetorbar.

Se eu usar a função como uma função global, com dados aleatórios que devem denotar as variáveis de membro da classe, ela funcionará bem.

No entanto, como a função requer o uso de variáveis-membrom_DensityMin em_DensityMax da classe, preciso usá-lo como uma função de membro. Isto é o que eu tentei:

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

mas acabo com o erro no VS2010:

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

Até onde eu sei, estou passando apenas 1 argumento. Alguma dica? Aqui está um semelhantePergunta, questão, Tentei com std :: mem_fun, pois std :: mem_fn não está disponível para mim, mas sem sucesso.

questionAnswers(3)

yourAnswerToTheQuestion