C++中以下函数的返回类型是什么

What is the return type of the following function in C++

本文关键字:返回类型 是什么 函数 C++      更新时间:2023-10-16

Typename是什么意思?函数应该返回什么?

typename BSTMap<KEY,T>::TN* BSTMap<KEY,T>::find_key (TN* root, const KEY& key) const {..}

返回类型为 BSTMap<KEY,T>::TN*

关键字 typename 是告诉编译器嵌套名称TN命名类型所必需的。 例如 TN可以是嵌套的 typedef 名称、嵌套类类型等。当您使用T1::T2语法引用嵌套名称时,几乎总是需要这个额外的typename关键字,其中T1部分取决于模板参数。

如果没有它,编译器在许多上下文中将无法正确"理解"代码(例如,弄清楚*字符是声明指针,作为一元取消引用运算符还是作为二进制乘法运算符)。