Re[4]: Передать группу перегруженных функций
От: m e  
Дата: 29.01.12 21:17
Оценка:
M>Если рассматривать более общую проблему, то можно также привести следующий пример:
M>
void f(int = 0);
M>std::function<void()> fn = std::bind(&f, 0);

я правильно понял, что проблема тут в том, что "0" в последней строке невозможно синхронизировать автоматически с "0" в первой строке? т.е. если "0" в первой строке изменят, то "0" во второй могут забыть изменить, и получить ошибку

вообще пожалуста поподробней, чего не хватает

скажем, boost::overload дает возможность задать functions.set(&f) ( https://svn.boost.org/svn/boost/sandbox/overload/trunk/libs/overload/docs/tutorial.qbk ); чего здесь не хватает, по-моему, это опять автоматической синхронизации строк
 functions.set( тут-указан-конкретный-вариант-из-перегрузок-функции-f );

с набором этих самых перегруженных вариантов функции f

вот примерно так, поподробней пожалуста

M>
void f();
void f(int);
std::function<void()> fn = static_cast<void(*)()>(&f);

мне не ясна не только цель, но и что тут происходить -- какая из f кастится?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.