So you can write
void transform_string(char s[], char transform(char));
instead of having to write void transform_string(char s[], char(*transform)(char));
When writing C++ you should use function references when possible, as references cannot be null. void transform_string(char s[], char(&transform)(char));
Function references unfortunately require the more complex syntax, but fortunately C++11 `using`-style typedefs are quite simple to use with function types. using TransformFunc = char(char, char);
typedef char TransformFunc(char, char); // C-style typedef, same as above
// Function pointer
TransformFunc fptr = /* ... */
// Function reference
TransformFunc &fref = /* ... */