如何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>
,
我正在尝试使用 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>
,