Was ich habe, ist eine Aufgabe, zwei Dateien mit einer Funktion zu verketten. Also was ich versuchte zu tun ist:Warum sollten wir Dateien mit Bezug auf Funktionen in C++ übergeben?
Aber ich hatte immer einen Fehler, den ich nicht verstehen konnte. Also änderte ich dies zu:
...
void concatenateFiles(ifstream &fileA, ifstream &fileB, ofstream &fileAB){
...
}
Und es hat funktioniert, aber ich bin mir nicht ganz sicher warum. Ich nehme an, es hat etwas mit der Unfähigkeit zu tun, auf die Dateien zuzugreifen, wenn sie nicht per Referenz weitergegeben wurden. Vielleicht kann C++ keine Kopie der Datei erstellen, als ob Kopien von anderen Variablen erstellt würden, wenn sie nicht als Referenz übergeben würden? Das ist so weit, wie ich damit komme. Dies ist mein erster Programmierkurs. Wenn ihr die Antwort so einfach wie möglich halten könnt, wäre das großartig!
Danke, Rami.
Ja, ['std :: ifstream'] (http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream) bietet keinen Kopierkonstruktor. –
Was würde es bedeuten, einen Stream zu kopieren? –
@DavidSchwartz Ich habe das "Stream" -Konzept immer noch nicht vollständig verstanden, daher kann ich noch nicht auf dieser Ebene argumentieren:/ –