title: Syntax error with std::numeric_limits::max
body: <p>I have class struct definition as follows:</p>
  
  <pre><code>#include &lt;limits&gt;
  
  struct heapStatsFilters
  {
      heapStatsFilters(size_t minValue_ = 0, size_t maxValue_ = std::numeric_limits&lt;size_t&gt;::max())
      { 
           minMax[0] = minValue_; minMax[1] = maxValue_; 
      }
  
      size_t minMax[2];
  };
  </code></pre>
  
  <p>The problem is that I cannot use 'std::numeric_limits::max()' and the compiler says:</p>
  
  <p><code>Error  8   error C2059: syntax error : '::'</code></p>
  
  <p><code>Error  7   error C2589: '(' : illegal token on right side of '::'</code></p>
  
  <p>The compiler which I am using is Visual C++ 11 (2012)</p>