C++ 如何返回3个值之间的最大值?

C++ 如何返回3个值之间的最大值?,c++,max,overloading,initializer-list,overload-resolution,C++,Max,Overloading,Initializer List,Overload Resolution,我尝试使用max函数返回最大值,但它不处理3个值 代码块错误: 错误:“\uuu comp”不能用作函数 守则: #include <iostream> using namespace std; int main() { cout << max(5, 10, 20); } #包括 使用名称空间std; int main() { 不能使用这个重载函数std::max,它接受类型为std::initializer\u list的对象: cout是的,就是这样,非常

我尝试使用max函数返回最大值,但它不处理3个值

代码块错误:

错误:“\uuu comp”不能用作函数

守则:

#include <iostream>
using namespace std;

int main()
{
    cout << max(5, 10, 20);
}
#包括
使用名称空间std;
int main()
{

不能使用这个重载函数
std::max
,它接受类型为
std::initializer\u list
的对象:


cout是的,就是这样,非常感谢问题解决了)@Arnold Baba不客气。:)我注意到它对cout也有效
cout << max( { 5, 10, 20 } );
template<class T>
constexpr T max(initializer_list<T> t);
template<class T, class Compare>
constexpr const T& max(const T& a, const T& b, Compare comp);