| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 929 人关注过本帖
标题:对string用push_back的问题
收藏  订阅  推荐  打印 
karlzhouzhi
Rank: 2
等级:注册会员
帖子:70
积分:800
注册:2005-12-25
对string用push_back的问题

问题:在裘宗燕翻译的the c++ programming language第P103页:

default: 
    if(isalpha(ch)) { 
        string_value = ch;
		while(cin.get(ch)&&isalnum(ch)) string_value.push_back(ch); 
	    cin.putback(ch) ; 
		return curr_tok = NAME ; 
	} 
	error("bad token"); 
	return curr_tok = PRINT ; 

的程序段里对string类型的变量用了push_back() 操作 string_back() 是对deque, list , vector进行的操作,从而导致编译错误。
错误信息: error C2039: 'push_back' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
对string用push_back没有问题,C++标准库的string类确实有这个操作(另见523页中间)。我的系统上编译出错,我的系统在这一点上不符合标准。 我用的是vc6.0,怎么才能解决这个问题

搜索更多相关主题的帖子: push  string  back  
2006-2-24 17:13
ElfDN
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:11
帖子:291
积分:3062
注册:2005-11-13

只知道string可以用+,不用push_back的,帮你试试

2006-2-24 17:37
ElfDN
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:11
帖子:291
积分:3062
注册:2005-11-13

我用BCB没问题,可以push_back

2006-2-24 17:40
karlzhouzhi
Rank: 2
等级:注册会员
帖子:70
积分:800
注册:2005-12-25

以下是引用ElfDN在2006-2-24 17:40:00的发言:
我用BCB没问题,可以push_back

谢谢你的帮助,我是新手请多关照,那我用VC是不是就不能这么用了啊,VC6.0是不是没有包括这个C++标准啊

2006-2-24 18:17
karlzhouzhi
Rank: 2
等级:注册会员
帖子:70
积分:800
注册:2005-12-25

以下是引用ElfDN在2006-2-24 17:37:00的发言:
只知道string可以用+,不用push_back的,帮你试试

具体点好吗,我是刚开始学C++,while(....) string_value+//??怎么用+ ??

2006-2-24 18:22
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059708 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved