Strange Behevior when trying to create a Template containing maps
<p>i'm new to Templates and when i tried to implement templates methods which needs to use a map (which is a member in private), the map can only do 3 things: insert, swap, and operator =. and i don't get the full functionality of map.. </p>

<p>Here's the code:</p>

<pre><code>#include &lt;map&gt;
using namespace std;
template &lt;class T,class SortKey, class SearchKey&gt;
class GarageDataBase
{
public :

 GarageDataBase();
 virtual ~GarageDataBase(); 
    const T&amp; Top() const;
 bool Add(T data,SortKey key2, SearchKey key2);
 T Remove(SearchKey toRemove);
 T Find(SearchKey toFind) const;
 bool isEmpty()const;



private:
 multimap&lt;SortKey,T&gt; firstMap;
 multimap&lt;SearchKey,pair&lt;SortKey,T&gt;*&gt; secondMap;

};
#endif



template &lt;class T,class SortKey, class SearchKey&gt; GarageDataBase&lt;T,SortKey,SearchKey&gt;::GarageDataBase()
{

}

template &lt;class T,class SortKey, class SearchKey&gt; GarageDataBase&lt;T,SortKey,SearchKey&gt;::~GarageDataBase()
{
}

template &lt;class T,class SortKey, class SearchKey&gt; const T&amp; GarageDataBase&lt;T,SortKey,SearchKey&gt;::Top() const
{
 firstMap.
}
</code></pre>

<p>in the last func when trying to get into firstMap mathods, all i get is: insert, swap or, =...</p>

<p>how do i get to "first" or "second" in the map?</p>

<p>Thank you and sorry i'm just a beginner here</p>
