C における typename の目的は何ですか?
テンプレートを使用する場合、C コンパイラからの複雑なエラー メッセージが表示されることがあります。 gcc。特に、正しい宣言は、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 中国語 Web サイトの他の関連記事を参照してください。