Как я могу использовать функцию std :: min () для вычисления минимума? - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу использовать std::min(), но это показывает ошибку. Я включил библиотеку:

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

1 Ответ

3 голосов
/ 01 ноября 2019

Вы пытаетесь передать std::initializer_list в std::min(), но в соответствии с C ++ 11/14/17 Возможности В 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));
}
...