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’
”。 当容器类型作为模板参数给出时,是否可以推断出元素类型,还是必须将元素类型作为额外的模板参数?