Errata (C++ Einführung)
Seite 50: #include, da fehlt das “l”.
Kapitel 14.1, Fehlerbehandlung mit Rückgabewerten
Im Buch steht in Listing 14.1, Seite 207:
Zeile 12: int count = 0 // am EOF wird noch ein Wort gelesen
Zeile 18: return count - 1;
wobei im Beispiellisting 28-codes.cpp
aber steht
Zeile 12: int count = -1 // am EOF wird noch ein Wort gelesen
Zeile 18: return count;
Beides ist korrekt, nur anders formuliert.
S. 138, Listing 10.4
iota
kommt aus dem Header numeric
, nicht algorithm
.
#include <array>
#include <algorithm>
#include <numeric>
S. 170, Prüfen des Erfolgs des Stream-Ins
!
bindet stärker als >>
. An dieser und anderen Stellen muss der boolsche Teilausdruck geklammert werden:
if(!(std::cin >> variable))
.
S. 187, Listing 12.17, Kommentar bezieht sich auf falsche Variable
// raus aus innerer xy-Schleife
S. 188, falscher Bezug auf Source-Stelle
Hätten Sie bei
cout << prod// Ziel von break
ein break
eingebaut, dann würde jedoch die x-Schleife verlassen und bei cout << "\n"
fortgefahren.
S. 294, falscher Bezug auf Variable
Weil aber die arrSPAET
-Definition nach der Verwendung steht,
S. 314, Listing 20.10, Parameter fehlt
Hier fehlt der Stream als Parameter (oder die globale Variable). Außerdem sind meine internen Prüfkommentare “//=” hineingerutscht (Auszeichnung des Listings als C++-Programm verkehrt).
//... Basis2 und Wert2 wie gehabt ...
void ausgabe(Basis2 x, ostream& os) {
// Übergabe als Wert
x.print(os);
}
int main() {
Basis2 ba2{}; ausgabe(ba2, cout); // gibt 8 aus
//= 8
Wert2 we2 {}; ausgabe(we2, cout); // gibt auch 8 aus
//= 8
}
S. 314, falsches Ergebnis
dann hätte
ausgabe(we2)
die ~~11~~[10]{.underline} ausgegeben