读书人

举个例, 某函数只允许使用双向迭代器

发布时间: 2012-04-24 14:15:38 作者: rapoo

举个例, 某函数只允许使用双向迭代器
一旦使用了其他类型的迭代器, 函数就使用错误的例子, 谁能举例,

[解决办法]
用 iterator_traits萃取迭代器类型即可

C/C++ code
template<class T>void func( T arg ){    func( arg , iterator_traits<T>::iterator_category() );}template<class T>void func( T arg , bidirectional_iterator_tag ){}template<class T>void func( T arg , random_access_iterator_tag );//不实现,使用随机迭代器的话 链接 错误int main(){    list<int> x;    func( (char*)0 );    func( x.begin() );} 

读书人网 >C++

热点推荐