1
vector
、list
などのコンテナクラスを使用する場合、要素の型はvector<type>::value_type
と書くことができます。テンプレート引数で定義された型を使用する
ただし、次のコード
template<class container>
void foo(container& c)
{
typedef container::value_type elementtype;
elementtype b;
}
はエラー "expected initializer before ‘elementtype’
" で失敗します。 コンテナの型がテンプレートの引数として指定されている場合、または要素の型を余分なテンプレートの引数として指定する必要がある場合、要素の型を推論することはできますか?