Understanding dependent types in C++ templates
This is an easy C++ language-knowledge question that tests whether you understand how the compiler resolves names inside template definitions. Specifically, it probes your familiarity with dependent types — types that depend on a template parameter — and the syntax required to disambiguate them.
When a type is nested inside a template parameter (such as a member type of a generic class), the compiler cannot know at parse time whether a qualified name refers to a type, a static variable, or something else. This question asks you to identify the keyword needed to tell the compiler explicitly that you are referring to a type, not a value. Getting this right is essential for writing correct generic code in C++, and the issue comes up frequently in production templates and in technical interviews at firms that use C++ heavily.
- Dependent names and two-phase lookup
- Template parameter scope and name resolution
- Disambiguating types from other entities in generic code