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?
Ihre Funktionsdeklaration und -definition sind nicht konsistent. Sie möchten einen Vektor aus Initialize
generieren. Dies können Sie tun:
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:
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.