我想使用std::min()
,但显示错误。我包括了图书馆:
for(size_t i = 0; i < 8; ++i) {
result[i] = std::min({sonarRange[i], sonarRange2[i], sonarRange3[i]});
}
答案 0 :(得分:3)
您正在尝试将std::initializer_list
传递给std::min()
,但是根据C++11/14/17 Features In VS 2015 RTM,我认为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));
}