Je suis en train d'utiliser un stringstream
faire quelque chose comme ça (j'ai simplifié mon code pour identifier l'erreur):stringstream :: erreur de syntaxe
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);
};
Token cpp
#include "Token.h"
void Token::set_input_string(std::string str)
{
ss << str;
}
Lorsque je tente de compiler je reçois: error C2061: syntax error : identifier 'in'
dans Token.h sur la ligne static stringstream ss (stringstream::in | stringstream::out);
et les studios Visual 2010 soulignés en rouge stringstream::in |
Est-ce que la classe représente vraiment un jeton, ou est-ce que ** produit ** jetons en coupant la chaîne d'entrée? Si c'est le dernier, vous devriez (a) corriger les noms de classe pour refléter cela, et (b) ne pas utiliser un membre 'static'. Si cela représente vraiment un jeton, alors vous devriez définir sa valeur dans le constructeur, et passer le train de chaînes au constructeur (laissez-le faire le travail pour extraire les données du flux). –