title: Why am I getting a Linker error with template function pointer?
body: <p>I have a class EventMgr which has a template function to register a listener. But, when I register a listener, linker gives me a "<strong>error LNK2019: unresolved external symbol</strong>".</p>
  
  <p>Appetizer code:</p>
  
  <pre><code>class EventMgr {
  
   template&lt; class T, class EvenT&gt;
   void RegisterListener(T* listener, int EventType, void (T::*MemFunc)(EvenT*) );
  }
  </code></pre>
  
  <p>SoundMgr(which is a listener) tries to register for event:</p>
  
  <pre><code>SoundMgr::SoundMgr(void)
  {
    EventManager::GetInstance()-&gt;RegisterListener(this, 1, (&amp;SoundMgr::handleBulletFired));
  }
  </code></pre>
  
  <p>I'm not sure why it won't link. Why can it not find the reference types ?</p>