错误是(使用VS2013 - GLM):
多个重载函数"glm::slerp“的实例匹配参数列表:函数模板"glm::detail::tquat glm::slerp(const glm::tquat &x,const glm::detail::tquat &y,const T &a)”函数模板"T glm::slerp(const glm::detail::tquat &x,const glm::tquat &y,const T &a)“参数类型为:(glm::quat &y,const T&a)”函数模板“:T glm::slerp(const glm::detail::tquat &x,const glm::tquat&y,const T&a)”参数类型为:(glm:quat,glm::quat,quat)
我用两个glm::quat和一个常量浮动值来调用它,就像对glm::lerp和glm::mix所做的那样。错误消息中显示的两个重载函数仅在返回类型上有所不同。我一直在找一个没有运气的答案。
准确的判断是:
const float t = 0.5f;
glm::quat newQ = glm::slerp(quatA, quatB, t); 发布于 2015-01-21 06:23:56
在C++中,不可能有仅因返回类型不同的函数定义(听起来是非法的),因为返回类型不是签名的一部分,因此将违反一个定义规则。
我建议您明确地编写模板参数,还是将其转换为您确信的内容?
https://stackoverflow.com/questions/28060769
复制相似问题