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