Sun Studio 12: C++ ユーザーズガイド

6.7.5 テンプレート名の入れ子

>>” という文字を持つものは右シフト演算子と解釈されるため、あるテンプレート名を別のテンプレート宣言内で使用する場合は注意が必要です。隣接する「>」文字との間に、少なくとも 1 つの空白文字を入れるようにしてください。

次に誤った書式の例を示します。


Array<String<10>> short_string_array(100); // >> は右シフトを示す。

前述の文は、次のように解釈されます。


Array<String<10 >> short_string_array(100);

正しい構文は次のとおりです。


Array<String<10> > short_string_array(100);