title: Implicit Template Parameters
body: <p>The following code generates a compile error in Xcode:</p>
  
  <pre><code>template &lt;typename T&gt;
  struct Foo
  {
      Foo(T Value)
      {
      }
  };
  
  int main()
  {
      Foo MyFoo(123);
      return 0;
  }
  </code></pre>
  
  <p>
  <code>error: missing template arguments before 'MyFoo'</code></p>
  
  <p>Changing <code>Foo MyFoo(123);</code> to <code>Foo&lt;int&gt; MyFoo(123);</code> fixes the issue, but shouldn't the compiler be able to figure out the appropriate datatype?</p>
  
  <p>Is this a compiler bug, or am I misunderstanding implicit template parameters?</p>