标题:对string用push_back的问题
只看楼主
karlzhouzhi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-12-25
 问题点数:0 回复次数:4 
对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-02-24 17:13
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
得分:0 
只知道string可以用+,不用push_back的,帮你试试

2006-02-24 17:37
ElfDN
Rank: 4
等 级:贵宾
威 望:11
帖 子:291
专家分:0
注 册:2005-11-13
得分:0 
我用BCB没问题,可以push_back

2006-02-24 17:40
karlzhouzhi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-12-25
得分:0 
以下是引用ElfDN在2006-2-24 17:40:00的发言:
我用BCB没问题,可以push_back

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

2006-02-24 18:17
karlzhouzhi
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-12-25
得分:0 
以下是引用ElfDN在2006-2-24 17:37:00的发言:
只知道string可以用+,不用push_back的,帮你试试

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

2006-02-24 18:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47016-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054395 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved