【问题标题】:glm::vec2 Not Allowing Operationsglm::vec2 不允许操作
【发布时间】:2015-10-12 22:48:15
【问题描述】:

在使用 GLM 时,我已经能够对向量和矩阵(+、-、*、/)使用运算。由于某些原因,在以下代码行中,它不会让我做任何操作:

glm::vec2 fixedPos = position + dimensions/2;  // <- Error is on the '/'

(“位置”和“尺寸”都是“const glm::vec2”类型)

错误: 没有运算符“/”匹配这些操作数;操作数类型为: const glm::vec2 / int

(用任何其他数学运算符替换“/”将导致相同的错误)

我觉得这不起作用而且很奇怪。错误是说我的语法不正确,而它要求的是我输入的内容!如果您看到问题,请在下面发布答案。感谢您的帮助!

【问题讨论】:

    标签: c++ compiler-errors glm-math


    【解决方案1】:

    试试这个:

    glm::vec2 fixedPos = position + dimensions / 2.0f;
    

    vec2 实际上是 typedefhighp_vec2,这是 typedeftvec2&lt;float, highp&gt;(参见 glm/detail/type_vec.hpp

    【讨论】:

    • 谢谢,确实有效!我很困惑为什么 Visual Studio 会告诉我正确的语法是 const glm::vec2 / int,而实际上我需要输入 const glm::vec2 / float
    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 2021-02-10
    • 2021-01-01
    • 2014-11-01
    • 2014-06-30
    • 2012-03-19
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多