title: Template that uses another template
body: <p>I'm coding a toy calendar.
  It contains this template meeting type:   </p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;iostream&gt;
  #pragma once
  using namespace std;
  
  template &lt;class T&gt;
  class Meeting_t
  {
      private:
          T startTime;
          T endTime;
          string subject;
      public:
          Meeting_t(){
              //do not delete, a default CTOR will be always created
              //this way we at least know something is wrong
              return NULL;
          }
          ~Meeting_t(){
              //members are all managed outside of the object
          }
          Meeting_t(T sTime, T eTime, string subj){
              startTime = sTime;
              endTime = eTime;
              subject = subj;
          }
  
          //getters
          inline T GetStartTime() { return startTime; };
          inline T GetEndTime() { return endTime; };
          inline string GetSubject() { return subject; };
  
          // == implementation
          inline bool operator == (Meeting_t otherMeeting) {
              return GetStartTime() == otherMeeting.GetStartTime();
          };
  
          inline bool operator &lt; (Meeting_t otherMeeting) {
              return GetStartTime() &lt; otherMeeting.GetStartTime();
          };
  
          inline bool operator &gt; (Meeting_t otherMeeting) {
              return GetStartTime() &gt; otherMeeting.GetStartTime();
          };
  
          inline void Print(){
              cout &lt;&lt; "\n*** *** ***\n";
  
              cout &lt;&lt; "\nSubject is:\n";
              cout &lt;&lt; GetSubject();
              cout &lt;&lt; "\nStart time is:\n";
              cout &lt;&lt; GetStartTime();
              cout &lt;&lt; "\nEnd time is:\n";
              cout &lt;&lt; GetEndTime();
              cout &lt;&lt; "\n";
          };
  
  };
  </code></pre>
  
  <p>and my calendar skeleton looks like:</p>
  
  <pre><code>#pragma once
  #include &lt;map&gt;
  #include "Meeting_t.h"
  
  template &lt;typename T&gt;
  class DayCalendar_t
  {
  public:
      //CTORs
      DayCalendar_t(){};
  
      //DTOR
      //Free all allocated memory allocated for the object
      ~DayCalendar_t(){};
  
  private:
      //fields
      std::map&lt;T, Meeting_t::template Meeting_t* &lt;T&gt;&gt; MeetingMap;
  };
  </code></pre>
  
  <p>As you see I chose to use c++ map template, yet it complains about the syntax in the last line:</p>
  
  <pre><code>std::map&lt;T, Meeting_t::template Meeting_t* &lt;T&gt;&gt; MeetingMap;
  </code></pre>
  
  <p>What am I doing wrong?</p>