As noted in Appendix D of the second edition of
STL Tutorial and Reference Guide, the book's 100 or so
example programs have all been tested successfully with the following
compilers:
The Microsoft Visual C++ Compiler, Version 6.0, is known not to be
as fully compliant with the C++ Standard as those above.
Most notably it still doesn't implement
template member functions or partial specialization of templates,
both of which are used in significant ways in STL. It does however
provide enough workarounds for the lack of template member functions
to handle all uses of this feature in the book's example programs.
Only two of the example programs failed to compile with MSVC++ 6.0:
I ran these tests after installing Service Pack 5. Before installing this service pack I tried compiling with the original CD-ROM installation. The same two examples failed, although somewhat differently for Example 24-1: the compiler gave an actual error message rather than INTERNAL COMPILER ERROR. There were two other compilation failures, for Examples 2-8 and 6-9, both due to the lack of a deque<T> constructor that takes T* arguments. The counterpart of this constructor was present in all other STL container classes, as a workaround for the lack of template member functions, but was missing in deque. Service Pack 5 (and probably earlier Service Packs) fixes that, though. |