small medium large xlarge

Errata for Modern C++ Programming with Test-Driven Development

 

The latest version of the book is P1.0, released almost 2 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (27-Mar-14)
#76571
Paper page: 7
Maverick (OS X 10.9) changed the default stdlib library. To get Ch.2 examples working, I had to force gmock to build with libc++. Use: ./configure ...more...
  • Reported in: P1.0 (04-Apr-14)
#76613
PDF page: 9
Download the appropriate file and unpack, perhaps into a new directory named pputest within your home directory. pputest should be cpputest.--Akiyuki...more...
  • Reported in: B6.0 (01-Sep-13)
#52553
PDF page: 11
patch instructions for the OS X install are missing a "-i" flag, i.e line should read: patch -p1 -i [path to file]/rlog.diff I copied the ...more...
  • Reported in: P1.0 (07-Dec-13)
#53309
PDF page: 20
On Ubuntu 13.10 I had the following linking errors regarding pthread in the chapter 2 exercises: undefined reference to `pthread_getspecific' ...more...
  • Reported in: P1.0 (13-Nov-14)
#77804
Paper page: 20
You wrote: "To compile, we added an empty declaration for the Soundex class." It should be: "To compile, we added an empty _definition_ for the...more...
  • Reported in: B6.0 (04-Sep-13)
#52574
PDF page: 86

"hapharzardly" -> should be "haphazardly"--Mahmood Hanif

  • Reported in: B7.0 (22-Sep-13)
#52970
PDF page: 107
The code examples at pragprog.com/titles/lotdd/source_code for chapter 5 no longer work with Google Mock 1.7 :-( You get compiler errors about ambigu...more...
  • Reported in: P1.0 (13-Sep-14)
#77325
Paper page: 125
If I understand the example correctly httpServer() should be replaced with httpService() in the following section: "With respect to our example, the ...more...
  • Reported in: B7.0 (28-Sep-13)
#52992
PDF page: 160
In the middle of the first paragraph you write: "... (first inserting an empty vector if needed)." It's not needed. The code auto it = pu...more...
  • Reported in: B7.0 (28-Sep-13)
#52993
PDF page: 161
c6/17/Portfolio.h Template interface should either be T Find(const std::unordered_map<std::string, T>& map, const std::string& key) const Or, t...more...
  • Reported in: B7.0 (29-Sep-13)
#52996
PDF page: 166
End of second paragraph read (Look at the source download to see the final tests.) Looking at the source code downloaded from the book site there ...more...
  • Reported in: P1.0 (08-Dec-13)
#53312
PDF page: 192

The bad example code and the improved" version at the bottom of the page are exactly the same.

  • Reported in: P1.0 (07-Mar-14)
#76490
Paper page: 192

1st paragraph, last sentence:
but others wom't -> but others won't--Holger Detering

  • Reported in: P1.0 (07-Mar-14)
#76491
Paper page: 192
Except for the increased indentation is HoldingServiceTest.cpp identical in Branches 18 and 19. The execution statement is isolated in Branch 20. -...more...
  • Reported in: B7.0 (05-Oct-13)
#53007
PDF page: 204
In "4. We copy the for loop ..." the code shows rLog(channel, "writing %i samples", samplesToWrite); but should be rLog(channel, "writing %u ...more...
  • Reported in: B7.0 (05-Oct-13)
#53008
PDF page: 211
Consider using nullptr instead of 0 as the return value for RLogChannel *getComponent(RLogChannel *componentParent, const char *component){ return 0...more...