if List is class then meaning of List x is that x is object of class List. meaning of List x() is that x is a function which returns a object type List.
you can see the following example Code: void f() { List x; // Local object named x (of class List) ... } Code: void g() { List x(); // Function named x (that returns a List) ... }