| 5 | double x= 1,23; // ... 23 Ici, ... 23 à affecter. (le paragraphe complet) | x= 1,23; // On aura x==1.0 au lieu de 1.23 L'expression est interprétée comme (x= 1), 23;. Le 23 est sans conséquence.
| 26 | int k= j++, i++; | int k= (j++, i++);
| 33 | while ( !(JANVIER < noMois && noMois < DECEMBRE) ); | while ( !(JANVIER <= noMois && noMois <= DECEMBRE) );
| 35 | float prix; }; // Ou double | float prix; // Ou double };
| 37 | getline(cin, p_s_livre.prenom, '\t'); getline(cin, p_s_livre.nom);getline(cin, p_s_livre.prenomAuteur, '\t'); getline(cin, p_s_livre.nomAuteur);
| 38 | << p_livre.prenom << ' ' << p_livre.nom << ", publié en "<< p_livre.prenomAuteur << ' ' << p_livre.nomAuteur << ", publié en "
| 42 | string noCarteCredit; (etc.) | char noCarteCredit[LARGEUR_NO_CARTE_CREDIT+1]; (voir ErrataV2.txt)
| 50 | typedef char TypeAdresse[NB_LIGNES_ADRESSE][LARGEUR_LIGNE_ADRESSE+1];
typedef char TypeLigneAdresse[LARGEUR_LIGNE_ADRESSE+1]; typedef TypeLigneAdresse TypeAdresse[NB_LIGNES_ADRESSE]; (la version originale est techniquement correcte, sauf qu'on n'a pas vu les tableaux à deux dimensions à ce point dans le livre)
| 50 | int16_t ObtenirScolarite(); | TypeScolarite ObtenirScolarite();
| 53 | case CADRE : ... (les deux case sont inversés) case SOUTIEN : ...
case SOUTIEN : ... case CADRE : ...
| 63 | Imprimer(... (trois fois en bas de la page) | Afficher(...
| 82 | par la classe vector. En fait, | par la classe vector, disponible quand on inclut <vector>. En fait,
| 87 | (Toute la section sur les tableaux multidimensionnels) | (voir ErrataV2.txt)
| 100 | TYPE_FACTURETypeFacture
| 104 | TYPE_CLIENT (deux fois) | TypeClient
| 122 | ..., p_anneeInscription) // ERREUR..., int p_anneeInscription) // ERREUR
| 123 | if (uneDate.ChangerDate(jour, mois, annee))if ( ! uneDate.ChangerDate(jour, mois, annee))
| 130 | int ClDate::DateValide(...Il manque un return 0; à la fin de la fonction
| 133 | CetteFonction()CetteFonction();
| 135 | ClClient(char p_nom[], char p_prenom[], int p_noClient)ClClient(const char p_nom[], const char p_prenom[], int p_noClient)
| 136 | int p_nbPages, p_anneeParution, float p_prix)int p_nbPages, int p_anneeParution, float p_prix)
| 138 | ..., ClDate p_dateLocation);..., const ClDate& p_dateLocation);
| 139 | ..., ClDate p_dateLocation) (deux fois) | ..., const ClDate& p_dateLocation)
| 139 | class ClLocationLongTerme...Bien que ce ne soit qu'un exemple simplifié, toutes les fonctions membres, sauf le constructeur, devraient être notées const.
| 140 | m_noOutil(p_noOutil)m_nbJoursLocation(p_nbJoursLocation)
| 140 | CLocationLongTermeClLocationLongTerme
| 141 | double ClLocationLongTermer::Cout() // ...double ClLocationLongTerme::Cout() const // ...
| 141 | CLocation::Cout();ClLocation::Cout();
| 142 | virtual double Cout();virtual double Cout() const;
| 143 | /*virtual*/ double Cout();/*virtual*/ double Cout() const;
| 209 | Visualiser les moyennes... Visualiser les aubaines... | Visualiser les moyennes... Visualiser les aubaines...
| 220 | N.B. La variable... | Enlever tout ce paragraphe.
| 229 | p_enr.numero= NO_CLIENT_INEXISTANT;Cette ligne est inutile dans la deuxième version de la fonction (donc à enlever).
| 232 | Le constructeur est déclaré virtual... | Le destructeur est déclaré virtual...
| 242 | CAjoutLivre d(m_pDoc);CAjoutLivre d;
| 246 | m_ficLivres->Reinitialiser();m_ficLivres.Reinitialiser();
| 255 | BOOL CAjoutLivre::OnInitDialog()BOOL CSaisieLivre::OnInitDialog()
| 320 | | (seconde << 17); // pas les additionner.| seconde; // pas les additionner.
| 320 | ...0xFC000000) >> 26) // Masquage facultatif| ...0xFC000000) >> 26) + 1990 // Masquage facultatif
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |