Known Bugs

TestCursorList.cpp does not compile under g++ 2.7.2.
I think it is a problem with static template members,
which g++ does not understand until g++ 2.8.1.

Metrowerks insists on compiling the STL, which causes conflicts for
swap and merge in
Sort.h. Also, it does not understand default template
parameters, making its vector and string incompatible with
some of the code. The easy fix is to add preprocessor macros as
follows: in vector.h, #define vector Vector;
similarly for string.h and in Sort.h. This works as long as
iostream.h is included prior to the other header files,
as is done in the online code.

Compilation Instructions

Here are compilation instructions
for g++,
SunPro,
Borland 5.0,
and
Visual 5.0.
(How to setup Windows for Visual
command line compilation.)
You can use this to guide you on how to
generate project files for Visual C++.
Throughout I am assuming 32-bit ints.
All template classes have the header file include the .cpp
file, even though this defeats the purpose of
separate compilation. There are ways around this,
but I'd rather keep everything simple for now.
Jeffrey Walton has supplied some
common
workarounds for C++ compilers.
Finally, here is a
zip file that contains
CodeWarrior projects.
You'll have to get everything in the correct directories.
(Does not include some late additions from Chapter 1; check back later).