我收到以下编译器错误:
C2664:Reason: cannot convert from 'const _Ty' to 'const glm::vec3'
我的自定义比较器:
bool comp(glm::vec3 const & first, glm::vec3 const & sec) { return first.y > sec.y; }
以及我称之为的代码
// function getVertices() returns std::vector<glm::vec3>
const std::vector<glm::vec3> verts = mesh.getVertices();
auto minmax = std::minmax(std::begin(verts), std::end(verts),comp);
如何解决此问题?请帮忙。
答案 0 :(得分:2)
std::minmax
函数返回两个(或多个) 值 的最小值和最大值。
要使用一系列迭代器(例如容器的开头和结尾)获取min和max元素,应使用std::minmax_element
。
答案 1 :(得分:0)
正如“一些程序员伙计”建议的那样,我将其更改为std :: minmax_element。有效。 :)