Как использовать функцию собственного класса в методе for_each?

Предположим, у меня есть этот класс (унаследованный от std :: Vector, это всего лишь пример)

#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();
}

Как мне вызвать for_each, используя метод класса внутри самого класса? Я знаю, что могу использовать ключевое слово static, но как еще можно использовать функциональный объект без использования static?

Я получаю это сообщение об ошибке при компиляции:

for_each.cc:21:55: ошибка: невозможно преобразовать 'C :: преобразование' из типа 'void (C ::) (double)' в тип 'void (C :: *) (double)' for_each (this-> начало (), это-> конец (), преобразование);

Я думаю, что мне нужно добавить.* или же->* где-то, но я не могу узнать, где и почему.

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

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