2017-05-15 6 views
0
Passing

Ich habe unter Verwendung der folgende Zeile um einen Vektor zu einem anderen Klassenkonstruktors zu passieren versucht: (die folgende Codezeile ist in der Klasse Lexer.cpp)einen Vektor als Parameter zu einer anderen Klasse Konstruktor C++

Parser p(toks); 

Dabei ist toks ein Vektor vom Typ Token (vector<Token> toks;), wobei Token eine Struktur innerhalb der Lexer.h-Klasse ist.

Der Konstruktor die Ich mag würde diesen Vektor passieren ist die folgende:

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

jedoch Parser p(toks); unter Verwendung des Vektors passieren wird mir eine ‚Instanziieren eine unbekannte Struktur ohne Referenz‘ Fehler geben. Auf welche Weise sollte ich diesen Vektor an die andere Klasse weitergeben?

+1

Haben Sie "Lexer.h" Header enthalten (wobei 'Token' * * definiert werden sollte) richtig? –

+0

@BiagioFesta ja ich habe! – Questionnaire

Antwort

1

fügen Sie ein & symbo

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

ohne Bezug auf den Fehler. und "const" fehlt auch, sollte ein Kommentar sein, keine Antwort (und Sie können derzeit nicht kommentieren: - /). – Jarod42

+0

Das gab mir immer noch den gleichen Fehler! :( – Questionnaire

Verwandte Themen