there are generally only 2 types of functions, 'void' and 'int'
Adding on to @DynamicSquid 's comment Functions can have many return types. you have things like std::string, std::map instances of your own classes and many many many more from the standard libraries.
@CSharpIsGud Well yes, I know that, but what I mean by "main" ones are functions with another purpose. I guess it really depends on how you define "main" but for me "bool" is a major one since STL algorithms and stuff. "void" is also a major one. It really depends