The type of a variable must be known at compile-time. Examples include:

Type Inference

The compiler is able to deduce the type of a variable, when type is not given.