Я хочу использовать библиотеку заголовков GLM-матрицы для создания матрицы преобразования для моего проекта графики на C++. Чтобы проверить это, я написал следующий простой код:Ошибка «отсутствия соответствия» с вызовом функции шаблона
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
int main()
{
glm::mat4 projection_matrix = glm::perspective(45, 1.5, 0.1, 100);
return 0;
}
Однако, я получаю следующее сообщение об ошибке компиляции:
/home/Karnivaurus/Projects/GLMTest/src/main.cpp:6: error: no matching function for call to 'perspective(int, double, double, int)'
glm::mat4 projection_matrix = glm::perspective(45, 1.5, 0.1, 100);
^
^
Далее следуют:
candidate is:
/usr/local/include/glm/gtc/matrix_transform.inl:218: template<class T> glm::detail::tmat4x4<T, (glm::precision)0u> glm::perspective(const T&, const T&, const T&, const T&)
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> perspective
^
Глядя на реализацию эта функция в предоставленном исходном коде, я могу видеть:
template <typename T>
GLM_FUNC_QUALIFIER detail::tmat4x4<T, defaultp> perspective
(
T const & fovy,
T const & aspect,
T const & zNear,
T const & zFar
)
{
//
// The implementation ..........
// .....
// .....
//
}
Я не особенно знаком с шаблонами на C++. Может ли кто-нибудь объяснить эту ошибку мне, пожалуйста?
* Как вы так быстро ?? * – Quentin
@Quentin Класс ввода Я взял элементарный школа была определенно самым ценным классом моей жизни на сегодняшний день :) – Barry
У меня нет никаких проблем с тобой. Вау. – Quentin