boost::bind + std::plus + std::fabs
От: denisku Россия  
Дата: 20.05.07 10:44
Оценка:
Следующий код не компилируется, не понимаю почему

boost::bind(std::plus<double>(),
                _1,
                boost::bind(&std::fabs,
                            _2)
                );

Идея — сделать сложение по модулю.
В чем собственно грабли?

VC 2005, boost 1.33
Извините за потраченный траффик..
Re: boost::bind + std::plus + std::fabs
От: shank  
Дата: 20.05.07 12:14
Оценка: 2 (1)
Здравствуйте, denisku, Вы писали:

D>Следующий код не компилируется, не понимаю почему


D>
D>boost::bind(std::plus<double>(),
D>                _1,
D>                boost::bind<double>(&std::fabs, // А так?
D>                            _2)
D>                );
D>
Re[2]: boost::bind + std::plus + std::fabs
От: denisku Россия  
Дата: 20.05.07 12:20
Оценка:
Здравствуйте, shank, Вы писали:

Спасибо! Так работает. Остается вопрос — почему?
Извините за потраченный траффик..
Re[3]: boost::bind + std::plus + std::fabs
От: shank  
Дата: 20.05.07 12:26
Оценка:
Здравствуйте, denisku, Вы писали:

D>Спасибо! Так работает. Остается вопрос — почему?

Может быть проблема была в том, что у fabs несколько перегруженных версий? Хотя я не знаток функционирования bind'a, да и на gcc все равно не работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.