Como usar uma função da própria classe no método for_each?

Suponha que eu tenho essa classe (herdada de std :: Vector, é apenas um exemplo)

#include <vector>

using namespace std;

template <class T>
class C : public vector<T> {

    // I don't want to use static keyword
    void transformation(T i) {
        i *= 100;
    }

    public:   
    void method() {
        for_each(this->begin(), this->end(), transformation);
    }
};

int main() {
    C<double> c;
    for (int i=-3; i<4; ++i) {
        c.push_back(i);
    }

    c.method();
}

Como chamo for_each usando o método de classe dentro da própria classe? Eu sei que posso usar a palavra-chave estática, mas o que existe de outra maneira como usar um objeto de função sem usar a estática?

Recebo esta mensagem de erro ao compilar:

for_each.cc:21:55: erro: não é possível converter 'C :: transformação' do tipo 'void (C ::) (double)' para o tipo 'void (C :: *) (double)' for_each (this-> begin (), this-> end (), transformação);

Acho que preciso adicionar.* ou->* em algum lugar, mas não consigo descobrir onde e por quê.

questionAnswers(3)

yourAnswerToTheQuestion