it is illegal to take the address of a function in the standard library
std::vector<int> v; generate_n(std::back_inserter(v), 10, rand);