First of all, "function" is a terrible name for a function.
an easier way to see what's going on, lets define function
abc in class GUID as
int GUID::abc(int a, int b) {...}
Here, abc is a fuinction that takes two integer arguments
and returns an int.
using this pattern, the above definition for "function" defines
a function named "function" that takes two integer arguments
and returns an instance of class GUID_address.
--
Fred K