Practical C++ Programming, 2nd Edition by Steve Oualline The following errata were *corrected* in the 7/05 reprint: Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem {62} code 2/3 down the page; char full_name[10]; NOW READS: char name[10]; in two places. {66} Example 5-12; int main() { std::cout ...... NOW READS: int main() { ch = 37; std::cout ...... [132] 2nd code block from the bottom of the page; // Using a simple reference int big_reference = &item_array[2]; NOW READS: int& big_reference = item_array[2]; {171} set_bit function (under 3rd paragraph); The example NOW READS: void inline set_bit(const int x, const int y) { assert((x >= 0) && (x < X_SIZE)); assert((y >= 0) && (y < Y_SIZE)); graphics[x/8][y] |= (0x80) >> (x % 8); } [259] IN PRINT: Top paragraph(the syntax for an open call); file_descriptor = open(name, flags); // Existing file int file_descriptor = open(name, flags, mode); // New file NOW READS: int file_descriptor = open(name, flags); // Existing file int file_descriptor = open(name, flags, mode); // New file {352} 3. Make the first element... NOW READS: 3. Make next_ptr point to the first element... {363} example; tree_node->word = word NOW READS: tree_node->data = word {364} first example: top->word NOW READS: top->data