Ich möchte den Index des minimalen Elements einer py::array_t-Variablen in pybind11 erhalten, aber beim Versuch, std::distance und std:: zu kombinieren, ist ein Problem aufgetreten. min_element.
Nehmen wir an, die Variable py::array_t heißt arr, der folgende Code bleibt hängen, wenn er ausgeführt wird:
Code: Select all
std::distance(arr.begin(), std::min_element(arr.begin(), arr.end()))
Anfangs dachte ich, dass der Iterator py::array_t nicht mit der Funktion std::distance kompatibel ist, aber ich habe einen Test durchgeführt und der folgende Code funktioniert einfach gut:
Code: Select all
std::distance(arr.begin(), arr.end())
Kann jemand erklären, warum das erste nicht funktioniert? Vielen Dank.