Доброго времен суток.Изучая этого замечательного зверя, появились вопросы. Вот так все ок (ну собственно не удивительно):
| Код | class Test { public: Test(const string &name) : m_name(name) {}; void Print() { cout<<m_name; };
private: string m_name; };
void main() { vector<Test> items; items.push_back(Test("1")); items.push_back(Test("2")); for_each(items.begin(), items.end(), mem_fun_ref(&Test::Print)); _getch(); return; }
|
а если я хочу, что функция Print принимала что-нибудь в качестве параметра. Например вот так:
| Код | class Test { public: Test(const string &name) : m_name(name) {}; void Print(char separator) { cout<<m_name+separator; };
private: string m_name; };
void main() { vector<Test> items; items.push_back(Test("1")); items.push_back(Test("2")); for_each(items.begin(), items.end(), mem_fun_ref(&Test::Print(' '))); _getch();
return; }
|
Так не компилится. Есть ли способ реализовать мое желание? |