如何return取3个值之间的最大值?

How to return the max value between 3 values?

我正在尝试使用 max 函数 return 最大值,但它不适用于 3 个值。

代码块错误:

error: '__comp' cannot be used as a function

代码:

#include <iostream>
using namespace std;

int main()
{
    cout << max(5, 10, 20);
}

使用这个重载函数 std::max 接受 std::initializer_list<int> 类型的 object:

cout << max( { 5, 10, 20 } );

这个函数有如下声明

template<class T>
constexpr T max(initializer_list<T> t);

否则编译器会尝试select函数

template<class T, class Compare>
constexpr const T& max(const T& a, const T& b, Compare comp);

并发出错误。

注意需要包含 header <algorithm>,