You still need to say 'typedef', i.e. typedef typename T::data_type data_type; or typedef value_type::data_type data_type; Jason