Сколько максимум аргументов мы можем перейти к росту :: Bind()нет. аргументов в буст :: затруднительное
ответ
по умолчанию это 9.
http://www.boost.org/doc/libs/1_45_0/libs/bind/bind.html#NumberOfArguments
Даже если вы не можете переключиться на C++ 11, вам следует рассмотреть возможность переключения с boost :: function на функции TR1, что было предварительным просмотром для C++ 11
В основном, что началось с того, что функция boost :: стала частью стандартной библиотеки C++, которая в настоящее время определяется вариационными шаблонами. В двух словах это означает, что не существует жестких ограничений больше (но, возможно, потребуется определить дополнительные переменные заполнителей, если вам нужно что-то за пределами _19
)
Чтобы перейти от повышения :: функции STD :: TR1 сделать следующий
найти все вхождений #include <boost/function>
и #include <boost/bind>
и заменить их:
#include <tr1/functional>
using std::tr1::function;
using std::tr1::bind;
using std::tr1::placeholders::_1;
using std::tr1::placeholders::_2;
...
Это должно работать как падение в замене. Если вы перейдете на C++ 11 позже, просто отбросьте из части «tr1».
- 1. C++/подталкивания: Передача функции-члена в качестве параметра, который будет использоваться в буст :: затруднительное
- 2. затруднительное re.sub со словарем
- 3. В контексте нет аргументов
- 4. Постоянство провайдер пароль затруднительное
- 5. рубин композиция/дизайн затруднительное
- 6. getopts нет аргументов
- 7. Дата вычитая затруднительное Excel 2007
- 8. KnockoutJS значение в данных переключение-затруднительное
- 9. затруднительное упорядочение оси х в ggplot2
- 10. Angular.js 1,3 Разовые связывания в нг-затруднительное
- 11. затруднительное шоу скрыть Panle в прокрутки страницы
- 12. сортировка затруднительное со строками в Excel (VBA)
- 13. Нет аргументов (и) возвращает t
- 14. Передача сжатых аргументов или нет?
- 15. Обязательно: нет аргументов, найдено: String
- 16. Нет аргументов для формального параметра
- 17. WCF System.ArgumentNullException, когда нет аргументов
- 18. У экземпляров StepNode нет аргументов
- 19. Нет, кроме аргументов без аргумента
- 20. требуется: двойной [] найдено: нет аргументов
- 21. Почему нет аргументов в прототипе функции?
- 22. Проблемы с буст :: ptr_vector и повышение :: любой
- 23. Читать пустые значения с буст :: дух
- 24. Итерация захватов с буст :: регулярным выражением
- 25. ресинтезировать промежуточные значения с буст :: дух :: ци
- 26. Метод указатель с буст :: затруднительным и картой
- 27. Constructor отказ наследования с буст :: multiprecision :: mpz_int
- 28. Autoconf с испытанием буст - вопрос линкер
- 29. Проблемы с журнала буст, версия 1,59
- 30. Ошибка wxPython «не принимает аргументов (2 приведенных)», когда аргументов нет
И если вы вызываете функции с более чем 9 аргументами, вам нужно переосмыслить свой дизайн! – GrahamS
@GrahamS Я думаю, что boost.lambda bind занимает до 9. Boost.Spirit.Phoenix, библиотека, которую я использую для функционального программирования, имеет значение по умолчанию 10 w/macro для определения верхнего предела. – KitsuneYMG
Я написал систему IOC, которая требовала шаблонов для каждого аргумента, используемого для построения объектов. Я думаю, что это закончилось тем, что достигло 12. Было, вероятно, слишком много – CashCow