Здравствуйте, Alexander G, Вы писали:
AG>Случайно заметил здесь
AG>AG>it is illegal to take the address of a function in the standard library
AG>Это как, ниже приведенный код уже не только непортабелен, но и нелегален ?
AG>AG>std::vector<int> v;
AG>generate_n(std::back_inserter(v), 10, rand);
AG>
У стандартных функций сигнатуры не фиксированы, поэтому брать их адреса смысла мало.
Там фиксируется только "форма вызова", поэтому реализация вольна добавлять дополнительные параметры со значениями по-умолчанию, или объединять несколько функций в одну и т.д.