对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,怎么才能解决这个问题








