dependent scope

本文探讨了使用GCC与Visual Studio 2008编译同一段C++代码时出现的不同错误提示,特别是关于嵌套依赖类型名的处理差异。作者建议初学者在学习C++时考虑更换编译器。

最近写的一段C++代码在visual studio 2008下编译通过,但是用gcc报出一大堆错误,最显眼的提示就是dependent scope,经过一番百度发现是我学艺不精,这是C++基础问题,“在你涉及到一个在 template(模板)中的 nested dependent type name(嵌套依赖类型名)的任何时候,你必须把单词 typename 放在紧挨着它的前面”(有两个例外)。但是在VS2008里对于这个不是非常敏感,例如

template <class T>
class A{
    vector<T>::iterator ite;
};

VS2008会默认vector<T>::iterator为类型名,顺利通过编译,但是gcc会出错。

用VS2008学C++的同学还是换成其他编译器吧,vs的确很强大很好用,但是在有些地方会误导初学者


上个链接给大家

http://www.cnblogs.com/abiao/articles/1259823.html (C++关键字typename

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值