Errata

C++ Pocket Reference

Errata for C++ Pocket Reference

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page 13

WAS:
To use the wchar_t type and related facilities,

NOW READS:
To use facilities related to the wchar_t type,

Anonymous    Oct 01, 2003
Printed
Page 13

WAS:
To use the wchar_t type and related facilities,

NOW READS:
To use facilities related to the wchar_t type,

Anonymous    Oct 01, 2003
Printed
Page 18
The for-loop will not compile (using g++) unless you define an operator++ for the enum

It should be:
SpectrumColor operator++(SpectrumColor &s, int dummy)
{
return s = (s >= Violet) ? Red : SpectrumColor(s + 1);
}

Anonymous    Sep 01, 2007
Printed
Page 18
The for-loop will not compile (using g++) unless you define an operator++ for the enum

It should be:
SpectrumColor operator++(SpectrumColor &s, int dummy)
{
return s = (s >= Violet) ? Red : SpectrumColor(s + 1);
}

Anonymous    Sep 01, 2007
Printed
Page 21

In the last sentence under "Passing arrays to functions," two instances of "int" NOW CHANGED to
"double" in both places that it appears.

Anonymous    Oct 01, 2003
Printed
Page 21

In the last sentence under "Passing arrays to functions," two instances of "int" NOW CHANGED to
"double" in both places that it appears.

Anonymous    Oct 01, 2003
Printed
Page 26
bottom

the declaration -
X objptr = new X;

NOW READS:
X *objptr = new X;

Anonymous    Oct 01, 2003
Printed
Page 26
bottom

the declaration -
X objptr = new X;

NOW READS:
X *objptr = new X;

Anonymous    Oct 01, 2003
Printed
Page 33
Reserved Words

"end_eq"

NOW READS:
"and_eq"

Anonymous    Oct 01, 2003
Printed
Page 33
Reserved Words

"end_eq"

NOW READS:
"and_eq"

Anonymous    Oct 01, 2003
Printed
Page 35
Table 4

A horizontal line was missing after *_cast
to separate it from the next precedence level
This HAS BEEN CORRECTED.

Anonymous    Mar 01, 2006
Printed
Page 35
Table 4

A horizontal line was missing after *_cast
to separate it from the next precedence level
This HAS BEEN CORRECTED.

Anonymous    Mar 01, 2006
Printed
Page 40
Logical NOT

The result of the logical NOT operator is an int.

NOW READS:
The result of the logical NOT operator is a bool.

Anonymous    Oct 01, 2003
Printed
Page 40

Under "Bitwise NOT,":
This assigns 0xFF back into bits.

NOW READS:
This assigns 0xFF back into bits, assuming a character is eight bits.

Anonymous    Oct 01, 2003
Printed
Page 40
Logical NOT

The result of the logical NOT operator is an int.

NOW READS:
The result of the logical NOT operator is a bool.

Anonymous    Oct 01, 2003
Printed
Page 40

Under "Bitwise NOT,":
This assigns 0xFF back into bits.

NOW READS:
This assigns 0xFF back into bits, assuming a character is eight bits.

Anonymous    Oct 01, 2003
Printed
Page 42
middle

the declaration -
X objptr = new X;

NOW READS:
X *objptr = new X;

Anonymous    Oct 01, 2003
Printed
Page 42
middle

the declaration -
X objptr = new X;

NOW READS:
X *objptr = new X;

Anonymous    Oct 01, 2003
Printed
Page 43

Under "Relational," the last sentence NOW READS:
The result of using a relational operator is a bool.

Anonymous    Oct 01, 2003
Printed
Page 43

Under "Relational," "yielding 1" HAS BEEN CHANGED to "yielding true" while "and 0" HAS BEEN CHANGED to
"and false."

***Reported as page 44, is actually on page 41****

Anonymous    Oct 01, 2003
Printed
Page 43
Relational section; heading "<, <=>, >=, ==, !="

NOW READS:
"<, <=, >, >=, ==, !="

Anonymous    Oct 01, 2003
Printed
Page 43

Under "Relational," the last sentence NOW READS:
The result of using a relational operator is a bool.

Anonymous    Oct 01, 2003
Printed
Page 43

Under "Relational," "yielding 1" HAS BEEN CHANGED to "yielding true" while "and 0" HAS BEEN CHANGED to
"and false."

***Reported as page 44, is actually on page 41****

Anonymous    Oct 01, 2003
Printed
Page 43
Relational section; heading "<, <=>, >=, ==, !="

NOW READS:
"<, <=, >, >=, ==, !="

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical NOT," the last sentence NOW READS:
The result of the logical NOT operator is a bool.

***Reported as page 44, is actually on page 40***

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical NOT," "yields 0" HAS BEEN CHANGED to "yields false" while "and 1" HAS BEEN CHANGED to "and
true."

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical AND and OR," all occurrences of "yields 1" HAVE BEEN CHANGED to "yields
true" and all occurrences of "yields 0" HAVE BEEN CHANGED to "yields false."

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical NOT," the last sentence NOW READS:
The result of the logical NOT operator is a bool.

***Reported as page 44, is actually on page 40***

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical NOT," "yields 0" HAS BEEN CHANGED to "yields false" while "and 1" HAS BEEN CHANGED to "and
true."

Anonymous    Oct 01, 2003
Printed
Page 44

Under "Logical AND and OR," all occurrences of "yields 1" HAVE BEEN CHANGED to "yields
true" and all occurrences of "yields 0" HAVE BEEN CHANGED to "yields false."

Anonymous    Oct 01, 2003
Printed
Page 48

Under "File Scope," the second sentence HAS BEEN CHANGED to the following:
A name with file scope can be used anywhere within a file after the point
where the name is declared.

Anonymous    Oct 01, 2003
Printed
Page 48

Under "File Scope," the second sentence HAS BEEN CHANGED to the following:
A name with file scope can be used anywhere within a file after the point
where the name is declared.

Anonymous    Oct 01, 2003
Printed
Page 56

Under "register," the following sentence:

The address-of operator (&) cannot be used with register variables.
HAS BEEN DELETED.

Anonymous    Oct 01, 2003
Printed
Page 56

Under "register," the following sentence:

The address-of operator (&) cannot be used with register variables.
HAS BEEN DELETED.

Anonymous    Oct 01, 2003
Printed
Page 93

In the second bullet item, the following HAS BEEN CHANGED before the period:
"in the base class and you plan to instantiate the derived class"

Anonymous    Oct 01, 2003
Printed
Page 93

In the second bullet item, the following HAS BEEN CHANGED before the period:
"in the base class and you plan to instantiate the derived class"

Anonymous    Oct 01, 2003
Printed
Page 94

Change the second bullet item to the following:
An abstract base class prescribes an interface to be implemented by a
derived class. A derived class may provide a definition for a member
function of the base class, declare the member function as pure virtual
itself, or not declare it at all. In the latter two cases, the derived class becomes abstract as well.

Anonymous    Mar 01, 2007
Printed
Page 94

Change the second bullet item to the following:
An abstract base class prescribes an interface to be implemented by a
derived class. A derived class may provide a definition for a member
function of the base class, declare the member function as pure virtual
itself, or not declare it at all. In the latter two cases, the derived class becomes abstract as well.

Anonymous    Mar 01, 2007
Printed
Page 94

Change the second bullet item to the following:
An abstract base class prescribes an interface to be implemented by a
derived class. A derived class may provide a definition for a member
function of the base class, declare the member function as pure virtual
itself, or not declare it at all. In the latter two cases, the derived class becomes abstract as well.

Anonymous    Mar 01, 2007
Printed
Page 119
Section 'Exception Specification', 2nd line

An exception is a guarantee to the caller of a function that only certain exceptions will be thrown

NOW READS:
An exception is a guarantee to the caller of a function that only certain exceptions can be thrown

Anonymous    Mar 01, 2006
Printed
Page 119
Section 'Exception Specification', 2nd line

An exception is a guarantee to the caller of a function that only certain exceptions will be thrown

NOW READS:
An exception is a guarantee to the caller of a function that only certain exceptions can be thrown

Anonymous    Mar 01, 2006
Printed
Page 120

Change the fourth bullet item HAS BEEN CHANGED to read as follows:
If a virtual member function has an exception specification (see "Virtual
Member Functions"), the member function of a derived class that overrides
the function must have an exception specification that is either the same or
more limited than the one in the base class.

Anonymous    Oct 01, 2003
Printed
Page 120

Change the fourth bullet item HAS BEEN CHANGED to read as follows:
If a virtual member function has an exception specification (see "Virtual
Member Functions"), the member function of a derived class that overrides
the function must have an exception specification that is either the same or
more limited than the one in the base class.

Anonymous    Oct 01, 2003