title: What's the meaning of std::enable_if_t = 0
body: <p>I was reading <a href="https://en.cppreference.com/w/cpp/types/enable_if" rel="nofollow noreferrer">std::enable_if</a>, and noticed the following.</p>
  
  <pre><code>template &lt;typename Integer,
            std::enable_if_t&lt;std::is_integral&lt;Integer&gt;::value, int&gt; = 0
  &gt;
  T(Integer) : m_type(int_t) {}
  </code></pre>
  
  <p>Since std::enable_if_t is a type, and it can be evaluated to <code>int</code> or <code>void</code> for this case, so the above code can be evaluated to</p>
  
  <pre><code>template &lt;typename Integer,
            int = 0
  &gt;
  T(Integer) : m_type(int_t) {}
  </code></pre>
  
  <p>or</p>
  
  <pre><code>template &lt;typename Integer,
            void = 0
  &gt;
  T(Integer) : m_type(int_t) {}
  </code></pre>
  
  <p>I can't understand <code>int = 0</code> or <code>void = 0</code>, would someone help me with this? Thanks.</p>