Function pointers are the most basic way of passing functions around, which can also be used in C. (See the C documentation for more details).
For the purpose of callable objects, a function pointer can be defined as:
typedef returnType(*name)(arguments); // All
using name =...