我试图用一个stringstream
做这样的事情(我简化了我的代码,以查明错误):字符串流::在语法错误
Token.h
#include <stdio.h>
#include <vector>
#include <sstream>
using namespace std;
class Token {
public:
static stringstream ss (stringstream::in | stringstream::out);
static void set_input_string(std::string str);
};
令牌的.cpp
#include "Token.h"
void Token::set_input_string(std::string str)
{
ss << str;
}
当我尝试编译我得到: error C2061: syntax error : identifier 'in'
Token.h行static stringstream ss (stringstream::in | stringstream::out);
和视觉工作室2010强调红色stringstream::in |
是否真的类代表一个令牌,或者通过切割输入字符串做它** **产生令牌?如果是后者,你应该(a)修正类名以反映这一点,并且(b)不使用“静态”成员。如果它真的代表一个令牌,那么你应该在构造函数中设置它的值,并将stringstream传递给构造函数(让它在那里完成从流中提取数据的工作)。 – 2011-01-30 09:23:55