title: "class std::map used without template paramaters" error
body: <p>I'd have to say I'm no expert on using the STL. Here's my problem, I have a class Called LdapClientManager which maintains a number of LDAP clients that are managed by ID.  The container holding the LdapClients is declared as a member variable i.e.</p>
  
  <pre><code>typedef std::map&lt;int, LdapClient *&gt; LdapClientMap;
  LdapClientMap _ldapClientMap;
  </code></pre>
  
  <p>The following function fails to compile with the error:</p>
  
  <pre><code>LdapClient * LdapClientManager::getLdapClient(unsigned int templateID)
  {
      // Do we have an LdapClient
      LdapClientMap::const_iterator it = _ldapClientMap.find(templateID);
      if (it == std::map::end) {
          // no existing client, lets create it
          LdapClient * ldapClient = new LdapClient();
          if (ldapClient == NULL) {
              // TODO: handle out of memory condition
          }
  
          _ldapClientMap[templateID] = ldapClient;
          return ldapClient;
      }
  
      return it-&gt;second;
  }
  </code></pre>
  
  <p>Unfortunately I get the following error at compile time, what does it mean.  I haven't found a solution in google as yet.</p>
  
  <p>LdapClientManager.cc: In member function <code>LdapClient*
  LdapClientManager::getLdapClient(unsigned int)':
  LdapClientManager.cc:33:</code>template class std::map' used without template parameters</p>