# C++ keyword: `typename`

From cppreference.com
< cpp‎ | keyword

### Usage

- In the template parameter list of a template declaration, typename can be used as an alternative to class to declare type template parameters and template template parameters(since C++17).
- Inside a declaration or a definition of a template, typename can be used to declare that a dependent qualified name is a type.
- typename can be used before a non-dependent qualified type name. It has no effect in this case.

- Inside a requirements for type requirements

(since C++20)

### See also

- `class`
- `template`

- `concept`, `requires`

(since C++20)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/keyword/typename&oldid=175127"