Wie man Elemente in einem Vektor c ++ druckt

8

Ich habe Probleme mit meiner Leerstellen-Druckfunktion, um diesen Vektor auszudrucken. Ich bin nicht ganz sicher, worüber es mit "std :: allocator" spricht. Ich bekomme diese Fehler:

%Vor%

Hier ist die Datei:

%Vor%

Ich möchte nur v auf den Bildschirm drucken. Irgendwelche Hilfe?

    
TheNameHobbs 01.02.2013, 04:33
quelle

2 Antworten

7

Ihre Funktionsdeklaration und -definition sind nicht konsistent. Sie möchten einen Vektor aus Initialize generieren. Dies können Sie tun:

%Vor%

Um einen Vektor zu drucken:

%Vor%

Jetzt rufst du an:

%Vor%

Vergessen Sie nicht, die Funktionsdefinition von Initialize , Print so zu ändern, dass sie der oben angegebenen neuen Signatur entspricht. Außerdem definieren Sie eine lokale Variable v , die den Schattenfunktionsparameter neu definiert, Sie müssen nur diese Zeile auskommentieren, außerdem übergeben Sie den Vektor durch const ref:

%Vor%     
billz 01.02.2013, 04:35
quelle
7

Sie müssen die const-Referenz übergeben und den externen Vektor entfernen.

%Vor%

Eine andere Möglichkeit, es auszudrucken, wäre die Verwendung von Iteratoren wie folgt:

%Vor%

Oder in C ++ 11 können Sie es so machen:

%Vor%

Ich glaube nicht, dass Ihre Initialize() -Funktion so funktioniert, wie Sie es erwarten. Es scheint nur eine Kopie zu erstellen und dann zu verwerfen, ohne irgendwelche Werte des existierenden Vektors zu verändern.

    
Rapptz 01.02.2013 04:35
quelle

Tags und Links