title: Can a template function taking class object instantiate that object with it's constructors arguments?
body: <p>Let's say I have a template function taking a class object:</p>
  <pre><code>template&lt;class T&gt;
  void Foo(T obj);
  </code></pre>
  <p>and a class definition as follows:</p>
  <pre><code>class Bar 
  {
  public:
      Bar(int a, bool b): _a(a), _b(b) {}
  private:
      int _a;
      bool _b;
  };
  </code></pre>
  <p>Is there a way to make the following code compile?</p>
  <pre><code>Foo&lt;Bar&gt;(5,false);
  Foo&lt;Bar&gt;({5,false}); // i know this works, just wondering if i can remove the brackets somehow.
  </code></pre>