title: Why can't `std::min` be used between `int` and `long long int`
body: <p>So I just want to know that why I can't pass values with different datatypes in min and max function?</p>
  <pre><code>int a=7;
  long long int b=5;
  long long int c=min(a,b);
  cout&lt;&lt;c;
  </code></pre>
  <p>My doubt arises because what I know for sure that compiler can implicitly type cast from smaller datatype(int) to larger datatype(long long int) so why not compiler couldn't type cast here!</p>