C++ 对glm::slerp的不明确调用

C++ 对glm::slerp的不明确调用,c++,opengl,glm-math,C++,Opengl,Glm Math,错误为(使用VS2013-GLM): 重载函数“glm::slerp”的多个实例与 参数列表:函数模板“glm::detail::tquat glm::slerp(常量glm::细节::tquat&x,常量glm::细节::tquat &y、 常量T&a“函数模板”T glm::slerp(常量 glm::细节::tquat&x,常数glm::细节::tquat&y,常数T&a) 参数类型有:(glm::quat,glm::quat,float) 我用两个glm::quat和一个常量浮点值来调用

错误为(使用VS2013-GLM):

重载函数“glm::slerp”的多个实例与 参数列表:函数模板“glm::detail::tquat glm::slerp(常量glm::细节::tquat&x,常量glm::细节::tquat &y、 常量T&a“函数模板”T glm::slerp(常量 glm::细节::tquat&x,常数glm::细节::tquat&y,常数T&a) 参数类型有:(glm::quat,glm::quat,float)

我用两个glm::quat和一个常量浮点值来调用它,就像使用glm::lerp和glm::mix一样。错误消息中显示的两个重载函数仅在返回类型上有所不同。我一直在寻找答案,但运气不好

确切的电话:

const float t = 0.5f;
glm::quat newQ = glm::slerp(quatA, quatB, t); 
< C++ >不可能(听到非法)有不同于返回类型的函数定义,因为返回类型不是签名的一部分,因此违反了一个定义规则。
我建议您明确地编写模板参数,或将其转换为您确定的内容?

这就是我发布此内容的原因,因为它毫无意义-签名基于参数。但是,这是我收到的错误消息,是的,我尝试了强制转换,但没有任何运气。可能您找到的具有相同签名的两个函数不存在于同一命名空间中。这是一种典型的
gml
设计技术,其中的实现位于
详细的
名称空间中,通过
使用
指令以可配置的方式将它们引入
glm
名称空间。我将glm更新为其最新版本,现在可以使用slerp功能,而不会变成红色(我错过了12月份的更新)。不幸的是,我遇到了另一个别人正在遇到的问题(我留下了一条评论):我将坚持使用0.9.5.4版本,它编译得很好。6.x版本似乎有一些皱纹需要熨平,所以我将等待更新。这个版本不会使用slerp编译(同样的问题),但现在它的信息量更小了,因为它不会变红(编译时只是一个c2668)。我想我现在只需要编写自己的slerp函数,或者坚持使用glm::mix并在glm更新之前做其他事情。无论如何,谢谢。在这里提交一些关于这个事实的东西怎么样:别忘了把这个页面作为链接提出来。我不认为VS2013会将您指向错误所指的文件内声明?