C 中 typename 的用途是什么?
使用模板时,可能会遇到来自 C 编译器的令人困惑的错误消息,海湾合作委员会。特别是,正确的声明可能会导致奇怪的编译错误,当应用 typename 关键字时,这些错误就会消失。要弄清楚这个问题,了解 typename 的作用至关重要。
根据 Nicolai M. Josuttis 的《The C Standard Library》,typename 指定后续标识符是类型。考虑以下示例:
template <class T> Class MyClass { typename T::SubType * ptr; ... };
在此示例中,typename 阐明 SubType 是类 T 的类型。因此,ptr 是指向类型 T::SubType 的指针。如果没有 typename,SubType 将被解释为静态成员,使 T::SubType * ptr 成为 T 类型的 SubType 值与 ptr 的乘积。
以上是C 模板中'typename”关键字的用途是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!