Would you please help me with this question;

I am wondering what are all the types that a c\c++ function can be defined in. For example in a simplest way a function is defined as void, int, double, char, string etc. Then W might define a function of String[] type also. Would you please explain me what are the "all" possible variants that a function can be defined.

BR
Vard