共用方式為


型別名稱

未知的識別項是一種類型是告訴編譯器。

typename identifier;

備註

只有在樣板定義中使用這個關鍵字。

必須使用 this 關鍵字,如果名稱是限定的名稱取決於樣板引數。 如果限定的名稱無關,它是選擇性的。 如需詳細資訊,請參閱範本及名稱解析

型別名稱可由樣板宣告或定義中的任何地方的任何型別。 不允許在基底類別清單中,除非當作樣板引數到範本的基底類別。

template <class T>
class C1 : typename T::InnerType // Error - typename not allowed.
{};
template <class T>
class C2 : A<typename T::InnerType>  // typename OK.
{};

型別名稱 關鍵字也可以用來代替 類別在樣板參數清單。 例如,下列陳述式為同一概念:

template<class T1, class T2>...
template<typename T1, typename T2>...

範例

// typename.cpp
template<class T> class X
{
   typename T::Y m_y;   // treat Y as a type
};

int main()
{
}

請參閱

參考

C + + 關鍵字

其他資源

範本