如何使用函数std::min()来计算最小值



我想使用std::min(),但它显示了一个错误。我包括了图书馆:

for(size_t i = 0; i < 8; ++i) {
result[i] = std::min({sonarRange[i], sonarRange2[i], sonarRange3[i]});
}

您正试图将std::initializer_list传递给std::min(),但根据VS 2015 RTM中的C++11/14/17功能,我认为Visual Studio 2015还不支持使用std::min()。您也可以将这3个值放入int[3]数组中,并使用std::min_element()查找最小值:

for(size_t i = 0; i < 8; ++i) {
int ranges[] = {sonarRange[i], sonarRange2[i], sonarRange3[i]};
result[i] = *std::min_element(std::begin(ranges), std::end(ranges));
}

最新更新