Small-K 2020-09-01 19:45 采纳率: 0%
浏览 89

C++中iterator_traits为什么会报这个错误(非类型视为类型)?

图片说明

代码说明:想通过iterator_traits来根据迭代器的类型选择不同的重载函数。报错的行是函数返回值,想根据iterator_traits中的difference_type来自动获取迭代器的类型作为返回值。

但是报了非类型视作类型的错误

template<class RandomAccessIterator>
inline iterator_traits<RandomAccessIterator>::difference_type
__distance(RandomAccessIterator first, RandomAccessIterator, random_access_iterator_tag)
{
    cout << "random_access_iterator_tag";
}

template<class BidirectionIterator>
inline iterator_traits<BidirectionIterator>::difference_type
__distance(BidirectionIterator first, BidirectionIterator, bidirectional_iterator_tag)
{
    cout << "bidirectional_iterator_tag";
}

template<class iterator>
inline iterator_traits<iterator>::difference_type
distance(iterator first, iterator second)
{
    iterator_trait<iterator>::iterator_category category;
    __distance(first, second, category());
}

在此先谢谢各位了!

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-09-02 09:40
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思