You can't pass a type as an actual argument, you can only pass an object of a given type.

I undestand it as the reference to the name of the type is given to the function as a parameter.
No, a reference to an object of that type is given to the function as a parameter.