title: C++ template specialization without default function
body: <p>I have the following code that compiles and works well:</p>
  
  <pre><code>template&lt;typename T&gt;
  T GetGlobal(const char *name);
  
  template&lt;&gt;
  int GetGlobal&lt;int&gt;(const char *name);
  
  template&lt;&gt;
  double GetGlobal&lt;double&gt;(const char *name);
  </code></pre>
  
  <p>However I want to remove the "default" function. That is, I want to make all calls to GetGlobal&lt;t&gt; where 't' is not an int or a double an error.</p>
  
  <p>For example, GetGlobal&lt;char&gt;() should be a compile time error.</p>
  
  <p>I tried to just delete the default function, but, as I imagined, I received a lot of errors.. So is there a way to "disable" it and allow calls only to the specialized versions of the function?</p>
  
  <p>Thanks!</p>