Здравствуйте, Quasi, Вы писали:
Q>Здравствуйте, jazzer, Вы писали:
J>>Здравствуйте, Quasi, Вы писали:
Q>>>void f(boost::system::error_code& ec = boost::system::throws);
Q>>>Нельзя невольно проигнорировать ошибку, исключает необходимость дублирования интерфейса
J>>И исключает возможность привязки по указателю на функцию
Q>Q>boost::bind(&f, boost::ref(boost::system::throws));
Q>boost::system::error_code error;
Q>boost::bind(&f, boost::ref(error));
Q>
Q>В чем собственно проблема? Или я неправильно понял?
1) нельзя к указателю на функцию привязать
2) нужно все время писать boost::ref(boost::system::throws)
Когда просто вызваешь функцию, разницы никакой, хоть они одна, хоть две, а вот связать такую функцию с указателем уже нельзя.
И даже функцию-переходник без параметров нельзя сделать — будет ругаться на неоднозначность.
Так что для пользователей твоей библиотеки никаких плюсов нету, им гораздо удобнее иметь две функции, котороые обе можно связывать с указателями.