typename

提供: RAD Studio
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動


カテゴリ

C++ 固有キーワード

構文 1

typename identifier

構文 2

template < typename identifier  > class identifier

説明

未定義の型を参照するときに構文 1 を使用します。 詳細は、例 1 を参照してください。

構文 2 は、テンプレート宣言で class キーワードの代わりに使用します。 詳細は、例 2 を参照してください。

メモ: テンプレートと同時に typename キーワードを使う場合、ANSI 規格が typename キーワードを要求するケースでも、コンパイラは必ずしもエラーを報告しません。 -A スイッチを使ってコンパイラを呼び出した場合は、typename の省略箇所にフラグが付けられます。 たとえば次のコードの場合、

#include <stdio.h>
struct A{ typedef int AInt; };

メモ: -A スイッチを使ってコンパイラを呼び出した場合は、typename の省略箇所にフラグが付けられます。

メモ: 次でコンパイル: bcc32(-A スイッチなし)

bc++bcc32 test.cpp

エラーは発生しません。 コンパイラは、AInt が typename ではないと見なしますが、それは -A スイッチが使用されない限りです。

メモ: 次でコンパイル: bcc32(-A スイッチあり)

bc++bcc32 -A test.cpp

結果は次のとおりです:

Error E2089 47071.cpp 7: Identifier 'AInt' cannot have a type qualifier

Error E2303 47071.cpp 7: Type name expected

Error E2139 47071.cpp 7: Declaration missing ;

どちらも予想どおりの結果です。