Итак, я делаю класс камеры для программы OpenGL, и я столкнулся с проблемой с базовым кодом на C++, где мне не разрешено инициализировать его значениями. Моя реализация ниже:Нет экземпляра этого конструктора
class Camera{
public:
Camera();
Camera(vec3 pos(), vec3 fron(), vec3 up(), GLfloat y, GLfloat p, GLfloat r);
...
};
Camera::Camera(vec3 pos(), vec3 fron(), vec3 up(), GLfloat y, GLfloat p, GLfloat r)
{
cout << "Hello World" << endl;
}
Остальное в мой основной:
int main(){
GLfloat lastx = width/2.0f;
GLfloat lasty = height/2.0f;
GLfloat yaw = 90.0f; //yaw set to -90 because yaw of 0.0 points to right or something wierd happens in euler angles
GLfloat pitch = 0.0f;
vec3 camerapos = vec3(0.0f, 0.5f, -10.0f);
vec3 camerafront = vec3(0.0f, 0.5f, 1.0f);
vec3 cameraup = vec3(0.0f, 1.0f, 0.0f);
Camera cam(camerapos, camerafront, cameraup, yaw, pitch, GLfloat(0.0f));
}
Как ни странно, я пытался инициализирует его пустым, и заполнить его (с той же функцией, заметьте), но Я назвал его init(). В тот момент мне сказали, что переменная должна иметь Classtype.
Что-нибудь очевидное, смотрящее мне в лицо?
Я не думаю, что это самый раздражающий синтаксического анализа; это то, как объявления функций. Подобно 'int a();' не MVP, просто досадно. –
Вы правы, у меня есть мозг. – LogicStuff
* facepalms * Бог, я устал, уверен, что на прошлой неделе я указал эту же ошибку другу. Теперь он отлично работает, твоя звезда. – Michael