Is it possible to give a function a class(type) as an argument such that the function can call its constructor, without using templates. void func(T t){ new T(); } Or, what is the type of a type? :)