2017-05-15 1 views
0

Je suis en train de passer un vecteur à un autre constructeur de la classe en utilisant la ligne suivante: (la ligne de code suivante est dans la classe Lexer.cpp)Passer un vecteur en tant que paramètre à un autre constructeur de la classe C++

Parser p(toks); 

où, toks est un vecteur de type Token (vector<Token> toks;), avec Token étant une structure dans la classe Lexer.h.

Le constructeur auquel je voudrais passer ce vecteur est le suivant:

Parser::Parser(vector<Lexer::Token> toks){ 
    //do something 
} 

Cependant, en utilisant Parser p(toks); passer le vecteur est de me donner un « instanciation d'une structure inconnue sans référence » erreur. De quelle façon devrais-je transmettre ce vecteur à l'autre classe?

+1

Avez-vous inclus en-tête "Lexer.h" (où 'token' doit être défini * *) correctement? –

+0

@BiagioFesta oui j'ai! – Questionnaire

Répondre

1

ajouter un & symbo

Parser::Parser(vector<Lexer::Token> &toks){ 
//do something 
} 
+0

sans rapport avec l'erreur. et 'const' est également manquant, devrait être un commentaire, pas une réponse (et vous ne pouvez pas commenter actuellement: - /). – Jarod42

+0

Cela m'a toujours donné la même erreur! :( – Questionnaire