我試圖用一個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