Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16499513
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:03:01

下载本文示例代码
  作者:许式伟 (版权声明)   类型引用 以下是引用片段:  template   class Foo   {   typedef T::SomeType SomeType;   };   这段代码在VC 中一点问题也没有,但是GCC并不允许,因为它不知道T::SomeType是什么。你需要改为: 以下是引用片段:  template   class Foo   {   typedef typename T::SomeType SomeType;   };   通过typename T::SomeType告诉GCC,SomeType是一个类型名,而不是其他东西。   当然,这种情况不只是出现在typedef中。例如: 以下是引用片段:  template   void visit(const Container& cont)   {   for (Container::const_iterator it = cont.begin(); it != cont.end(); it)   ...   }   这里的Container::const_iterator同样需要改为typename Container::const_iterator。 共3页。 1 2 3 :   作者:许式伟 (版权声明)   类型引用 以下是引用片段:  template   class Foo   {   typedef T::SomeType SomeType;   };   这段代码在VC 中一点问题也没有,但是GCC并不允许,因为它不知道T::SomeType是什么。你需要改为: 以下是引用片段:  template   class Foo   {   typedef typename T::SomeType SomeType;   };   通过typename T::SomeType告诉GCC,SomeType是一个类型名,而不是其他东西。   当然,这种情况不只是出现在typedef中。例如: 以下是引用片段:  template   void visit(const Container& cont)   {   for (Container::const_iterator it = cont.begin(); it != cont.end(); it)   ...   }   这里的Container::const_iterator同样需要改为typename Container::const_iterator。 共3页。 1 2 3 : 下载本文示例代码


转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异转:从VC 到GCC移植:谈两者语法差异
阅读(83) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~