Я пытаюсь вернуть GLM-матрицу из функции, которую я использовал на Java, однако на C++ она дает мне «ошибку C2228: слева от «.createTransformationMatrix» должен иметь класс/структуры/объединения»C++ возвращающая матрица GLM из функции error: left of must have class/struct/union
Заголовочный файл
#ifndef MATHS_H
#define MATHS_H
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glew.h>
#include <string>
#include <vector>
class Maths
{
public:
static glm::mat4 createTransformationMatrix(glm::vec3 translation, float
rx, float ry,float rz, float scale);
};
#endif
CPP файл
#include"Maths.h"
glm::mat4 createTransformationMatrix(glm::vec3 translation, float rx, float
ry,float rz, float scale){
glm::mat4 model = glm::mat4();
//Do transformations
return model;
}
ошибка возникает, когда эта функция вызывается из внешнего класса, как так , Я не уверен, почему я получаю сообщение об ошибке.
glm::mat4 transformation = glm::mat4();
transformation = Maths.createTransformationMatrix(
glm::vec3(entity.getPosition()),1,1,1,1);
Если у вас есть класс с только статическими функциями-членов, рассмотрит с помощью 'namespace' вместо. Затем прочитайте об операторе scope '::'. –