Practical C++ Programming, 2nd Edition by Steve Oualline Unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. This page was updated April 10, 2008. Here's the 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 ?page-number?: reader question or request for clarification UNCONFIRMED errors and comments from readers: (59) Table 4-3, last line: The x is missing. \NN should be: \xNN {61} Exercise 4-3, first line: circumference should be: perimeter (102) gcc makefile: The compiler flags listed in the comments do not match the CFLAGS line. {102} Example 7-1.; Example 7-1. calc/calc.cc should be: Example 7-1. calc1/calc.cc (105) 1st paragraph: make determines what compilation commands are needed and execute them. should be: make determines what compilation commands are needed and executes them. [120] Begining of Example 8-4; In Example 8-4.seven/seven.cc. the first line "include " is missing the "#" in front of include.It should be "#include . Program will not compile if "#" is left out. {128} Figure 9.1: The last brace in the highlighted block faces the wrong way. {139} In the example with the comment: // Using a simple reference the line: int big_reference = &item_array[2]; should be: int &big_reference = item_array[2]; {130} 1st example; the function is named "area", but it calculates the circumference (190) between first and second Table; second Table itself; Copy/Paste Error ---------------------------------------------------- first Error: ------------ struct foo { int two_bits:3; ---> should be: int two_bits:2; }; second Error: -------------- Bit Pattern | Decimal value 10 | -2 11 | -1 000 | 0 ---> should be: 00 0 001 | 1 ---> should be: 01 1 [241] top of page; I think that the second line: list_ptrs = &list[current]; should be: list_ptrs++ = &list[current]; If it is correct as published, then sorry for the trouble (but I would like an explanation why it works). {241} 4th line; command options file1 file1 file3 ... should be: command options file1 file2 file3 ... {357} 3rd block of code; Mine reads: struct person *new_ptr; Should read: class person *new_ptr; since it was declared as a class in the 2nd block of code. {365} At the top the full code for inserting the new element is: // Create new item linked_list_item *new_ptr; new_ptr = new linked_list_item; new_ptr->data = item; {365} After the lines: // Link in the new item before_ptr->next_ptr = new_ptr; we need: // Did we hit the end of the list? if (after_ptr == NULL){ return; } {366} The lines: // Have we reached the right place? if (item >= insert_ptr->data) should read: // Have we reached the right place? if (item <= insert_ptr->data) {372} The line result = strcmp(node->word, word); should read result = strcmp(tree_node->word, word); [387] 1st para; There appears to be a missing code example after the first paragraph. It ends in a colon, indicating something should follow, but nothing does. [426ff] Example 23-6 does not work. The output is different from that given in the book. For the parameters given in the book (LOW_BOUND = 0, HIGH_BOUND = 99, NUMBER_OF_LINES = 50) we have to change line ((HIGH_BOUND - LOW_BOUND) / (float) (NUMBER_OF_LINES)); to ((HIGH_BOUND - LOW_BOUND +1) / (float) (NUMBER_OF_LINES)); But that is not a general solution. If the parameters lead to a non-integer FACTOR, the program does not work. {448} near 4th paragraph; long int zip; zip = 92126; cout << zip code " << zip << '\n'; Now zip is 32 bits ... The command should be cout << "zip code " << zip << '\n'; ^ |--- (448) 2nd Last paragraph; ...... (ABCD), while Intel and Digital Equipment Corporation machines use another (BADC). If you are going to write a WORD (2 bytes content) 0xAB CD to an Intel® Architecture processor, the byte order should be (CD AB). Similarly, a DWORD (4 bytes content) 0x12 34 AB CD should be written as CD AB 34 12 in an Intel processor.