expected `;' before ‘iter’ 标签: iterator编译器compilerubuntuosgcc 2010-12-08 20:13 1927人阅读 评论(0) 收藏 举报
2017-06-06 10:51
1211 查看
expected `;' before ‘iter’
标签: iterator编译器compilerubuntuosgcc2010-12-08 20:13 1927人阅读 评论(0) 收藏 举报
gcc版本:
root@sunshine-laptop:~/workspace/c++# gcc --version
gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
代码如下:
template <typename elemType>
void display(const vector<elemType> &vec, ostream &os)
{
vector<elemType>::const_iterator iter=vec.begin();
vector<elemType>::const_iterator end_it=vec.end();
for( ; iter != end_it; ++iter)
os << *iter << ' ';
os << endl;
}
错误如下:
test.cpp: In function ‘void display(const std::vector<elemType, std::allocator<_CharT> >&,std::ostream&)’:
test.cpp:9: 错误: expected `;' before ‘iter’
test.cpp:10: 错误: expected `;' before ‘end_it’
test.cpp:12: 错误: ‘iter’在此作用域中尚未声明
test.cpp:12: 错误: ‘end_it’在此作用域中尚未声明
这是因为C++标准的规定,引用模板类型内部的type必须显示告诉编译器这是个type( iterator)而不是variable.默认情况下认为模板内部的成员为变量。
在GCC编译器中认为vector<elemType>::const_iterator 不是一个type,
在VC或Intel Compiler中不会出现这样的问题。
因此改为:
代码:
void display(const vector<elemType> &vec, ostream &os)
{
typename vector<elemType>::const_iterator iter=vec.begin();
typename vector<elemType>::const_iterator end_it=vec.end();
for( ; iter != end_it; ++iter)
os << *iter << ' ';
os << endl;
}
相关文章推荐
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法 标签: mfc编译器编程c 2011-08-18 22:48 199753人阅读 评论(10) 收藏 举报 分类: Debug
- ubuntu编译ffmpeg没有ffplay 分类: media 2014-03-21 17:32 364人阅读 评论(0) 收藏 举报 检查config.mak,有:!CONFIG_FFPLAY
- C++成员变量的初始化顺序 标签: C++成员变量初始化顺序 2017-02-22 23:44 101人阅读 评论(0) 收藏 举报 分类: C++程序设计浅尝(46) 原文地址:http://w
- iOS大文件分片上传和断点续传 标签: iOS大文件分片断点续传获取视频获取图片 2016-05-17 15:52 4881人阅读 评论(8) 收藏 举报 分类: 技术—iOS 版权声明:本文为博
- Intellij IDEA设置系列(四):各种乱码解决方案 标签: IntelliJ IDEA中文乱码 2016-04-10 17:03 8402人阅读 评论(5) 收藏 举报 分类: Intell
- 分类: linux程序设计 2012-03-06 22:01 10646人阅读 评论(5) 收藏 举报 linux语言c工具gcc程序开发 调试是每个程序员都会面临的问题. 如何提高程序员的调
- Volecity模板引擎学习笔记<一> 标签: 模板引擎volecity 2016-03-20 17:29 1229人阅读 评论(0) 收藏 举报 分类: Java开发(36) web前端(13
- Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说
- 《Go语言入门》第一个Go语言程序——HelloWorld 标签: go语言helloworld 2015-11-29 18:46 4066人阅读 评论(4) 收藏 举报 分类: go语言入门(3)
- Linux下高并发socket最大连接数所受的各种限制 标签: linuxsockettcplinux内核网络通讯 2011-07-19 08:10 95938人阅读 评论(21) 收藏 举报 版
- Ubuntu 11.04安装arm-linux-gcc-4.4.3/arm-none-linux-gnueabi-gcc安装包 分类: arm-linux-Ubuntu 2013-07-22 16:28 371人阅读 评论(0) 收藏
- 关于Android 5.1限制外置SD卡写入权限的破解方法 标签: Android 5.1SD卡写入权限 2017-06-15 10:06 1374人阅读 评论(0) 收藏 举报 版权声明:本文为
- MySQL添加新用户、为用户创建数据库、为新用户分配权限 标签: MySQL 2016-12-17 16:41 2768人阅读 评论(0) 收藏 举报 分类: =======学习心得=======
- Android 中查看内存的使用情况集常用adb命令 标签: Androidadb 2014-06-28 10:55 57206人阅读 评论(0) 收藏 举报 分类: Android(9) 版权声
- java微信开发API解析(三)-高级功能的前奏----获取以及保存接口调用凭证 标签: 微信java办微信开发微信文档解析 2016-04-06 20:50 1101人阅读 评论(0) 收藏 举报
- wordpress修改固定链接之后 无法访问的解决办法 标签: WordPress 2015-09-24 14:09 223人阅读 评论(0) 收藏 举报 分类: WordPress(6) 本地同
- Android自定义控件系列二:自定义开关按钮(一) 标签: Android自定义控件Java开关按钮自定义组件 2014-11-03 10:55 2735人阅读 评论(6) 收藏 举报 分类: J
- Gradle命令和配置 标签: AndroidGradle命令配置 2016-03-11 09:32 17174人阅读 评论(5) 收藏 举报 分类: 开发工具(9) 版权声明:本文为博主原创文
- tomcat startup.bat 无法启动问题解决方法 标签: startup.bat启动脚本tomcatTomcat 2012-12-06 21:52 10904人阅读 评论(0) 收藏 举报
- Mac OS 简易安装redis 标签: redisbrewserverclientMacOS 2016-05-30 23:04 7813人阅读 评论(0) 收藏 举报 分类: Redis 版权声