Reply to bearophile, > double function(int) * // pointer to function taking a double, returning an integer not exactly int function(double) // pointer to function taking a double, returning an integer I'll assume that's a typo though. :)