采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么Graph前面要加typename呢?老师一笔带过实在是听不懂…
如果你的问题是 28 行的 Graph 前的 typename,你可以尝试一下,不写这个 typename,编译报错。
typename Graph::adjIterator adj中,这个 typename 的意思显示的表示,这个 Graph 是当前这个类的一个模板,而非一个类或者一个命名空间。所以,整体 typename Graph::adjIterator 是一个类型,而不是一个变量(或者函数什么的)(比如你在这个类中调用 Components::id,同样使用了 ::,后面就是一个变量,而非一个类型)
如果你对这个语法不熟悉,说明你对 C++ 的 template 使用的比较少。如果感兴趣,可以再复习一下这方面的知识。在网上搜索一下,也能找到很多对此的讲解。我随便搜了一下,比如这种文章:https://feihu.me/blog/2014/the-origin-and-usage-of-typename/
但如果没兴趣,大概了解就好,这些不是这个课程的重点。可以参考这里:https://coding.imooc.com/learn/questiondetail/vZ85pzYG9Rk6n0rV.html
继续加油!:)
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
9.6k 21
6.1k 3
5.7k 5
1.9k 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号