按照 https://stackoverflow.com/a/9424211/3368959,我试图比较三个数字:
#include <iostream>
int main() {
std::cout << std::min({2,5,1}) << std::endl;
return 0;
}
但是编译器给了我错误:
error: no matching function for call to ‘min(<brace-enclosed initializer list>)’
但是,代码在使用时编译得很好
std::min(std::min(2,5),1)
但第一种方法应该与 c++11 标准一起使用。我可能做错了什么?
正如@BoBTFish所建议的:
为了使用template <class T> T min (initializer_list<T> il)
需要包括这里提到的<algorithm>
。