请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2021-06-04 04:45:11

如果你的问题是 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


继续加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号