【发布时间】:2019-05-09 13:22:00
【问题描述】:
我收到以下编译器错误:
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);
如何解决这个问题?请帮忙。
【问题讨论】:
-
请将 full 和 complete 错误输出复制粘贴到问题中。最好与minimal reproducible example 一起使用。
-
这看起来应该可以。请提供minimal reproducible example
-
顺便说一句,我怀疑您是否想经常复制网格的顶点。
-
令人惊讶的是我可以reproduce in an MCVE。
-
此代码是 openframeworks 示例的一部分。完整的代码。
#include "ofMain.h" #include "ofApp.h" //=========== bool comp(glm::vec3 const & first, glm::vec3 const & sec) { return first.y > sec.y; } int main( ){ ofMesh 网格; mesh.load("lofi-bunny.ply"); const std::vector<:vec3> verts = mesh.getVertices(); auto minmax = std::minmax(std::begin(verts), std::end(verts), comp); }</:vec3>
标签: c++ comparator glm-math minmax