Are you using an "intelligent" IDE that's trying to be smart ?
What happens if you use the file you posted and compile it from
the commandline ?


I figured out what I was doing.  First, I was using Code::Blocks, and I had removed from the project an older version and created a version to play with for a while.  I was editing the new version ptl_interfaces.hpp, but I was still calling ptl_interfaces.h (unchanged).  That got frustrating making changes with no results.  Everything compiled fine when I changed to the right header file.

   The problem that caused the problems is what Tom said in his reply.  I am new to using namespaces.  I just polluted the global namespace in the past.  Can you use includes & using namspace std inside a namespace? Why or why not?  Like:

namespace ptl {
#include <map>
using namspace std;