c++ - 如何返回 3 个值之间的最大值?
问题描述
我正在尝试使用max函数返回最大值,但它不适用于 3 个值。
代码块错误:
错误:“__comp”不能用作函数
编码:
#include <iostream>
using namespace std;
int main()
{
cout << max(5, 10, 20);
}
解决方案
std::max
使用这个接受类型对象的重载函数std::initializer_list<int>
:
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);
并发出错误。
请注意,您需要包含标题<algorithm>
,
推荐阅读
- android-layout - 如何在广播接收器中显示自定义 AlertDailog 框?
- android - 给出 java.lang.NullPointerException:当我点击当前位置按钮时
- django - 如何在 Django 的字段查找中转义冒号?
- android - 无法使用 Stomp 客户端从 Mobile Native Android / iOS 应用程序使用 ws 或 wss 进行连接
- reactjs - 如何在地图中添加参考
- kubernetes - Kubernetes ClusterIP 服务初始延迟或活跃度
- amazon-web-services - 运动流中可以存储的最大数据大小是多少?
- intellij-idea - JavaFX App 在内置 jar 中的外观与在 intellij idea 中运行时不同
- python - 如何在使用 Selenium 和 Python 获取数据时使用 doPostBack() 调用单击 Next 按钮以浏览到下一页?
- c# - 如何在我的 IDesigner 中更改分隔符颜色?