Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:没有构造函数的实例;摄影机::摄影机“;匹配参数列表_C++_Opengl_Camera - Fatal编程技术网

C++ 错误:没有构造函数的实例;摄影机::摄影机“;匹配参数列表

C++ 错误:没有构造函数的实例;摄影机::摄影机“;匹配参数列表,c++,opengl,camera,C++,Opengl,Camera,我对编程非常陌生,但我正在努力学习! 我正在尝试更新相机,以便在项目中启动3D对象和其他内容。 所以我需要创建两个结构,一个用于矢量,一个用于相机 Vector3–有三个浮动,分别称为x、y和z 摄像头–有三个矢量,分别称为“眼睛”、“中心”和“向上” 我需要在HelloGL.h文件中定义这些结构,并首先定义Vector3。 然后我在HelloGL标题中定义了我的相机指针 但是当我试图在HelloGL构造函数中初始化它时,我得到了一个错误 错误:构造函数“Camera::Camera”的实例与参

我对编程非常陌生,但我正在努力学习! 我正在尝试更新相机,以便在项目中启动3D对象和其他内容。 所以我需要创建两个结构,一个用于矢量,一个用于相机

Vector3–有三个浮动,分别称为x、y和z

摄像头–有三个矢量,分别称为“眼睛”、“中心”和“向上”

我需要在HelloGL.h文件中定义这些结构,并首先定义Vector3。 然后我在HelloGL标题中定义了我的相机指针 但是当我试图在HelloGL构造函数中初始化它时,我得到了一个错误

错误:构造函数“Camera::Camera”的实例与参数列表不匹配

下面是我认为不起作用的代码(HelloGL.h和HelloGL.cpp)

(HelloGL.h)


如果有人能帮忙,请提前感谢

您只定义了具有以下构造函数的摄影机:

Camera(Vector3 eye, Vector3 center, Vector3 up);

当您使用
camera=new camera()调用它时,默认构造函数。您应该添加不带参数的构造函数,或者将正确的参数传递给此构造函数。

您只定义了具有以下构造函数的摄影机:

Camera(Vector3 eye, Vector3 center, Vector3 up);

当您使用
camera=new camera()调用它时,默认构造函数。要么添加一个没有参数的构造函数,要么将正确的参数传递给该构造函数。

因此,如果我想用正确的参数传递它,我会说:camera=new camera(eye,center,up)<代码>新相机(Vector3{},Vector3{},Vector3{})
?或者类似的,如何将参数传递给任何其他函数?传递参数的函数,但是它仍然给每个{}提供相同的错误。你认为(Vector3-eye;Vector3-center;Vector3-up;)实际上并没有声明它们中的每一个,这导致它尝试发送一些不存在的东西吗?PS:就像我说的,我对编程非常陌生,所以如果我不明白你想说什么,或者我缺少一个非常基本的东西,请告诉我,我正在努力自学,更难意识到我的错误。你是编程新手,直接从OpenGL开始?我首先建议尝试编写一些命令行实用程序。{}只是写默认构造函数的一种方法,你可以从我知道一些java的情况下,从今年学习到它,但是在C++中很少,但是谢谢你的信息,我希望能帮助我。所以,如果我想用正确的参数传递它,我会说:camera=新的camera(眼睛,中心,向上)<代码>新相机(Vector3{},Vector3{},Vector3{})
?或者类似的,如何将参数传递给任何其他函数?传递参数的函数,但是它仍然给每个{}提供相同的错误。你认为(Vector3-eye;Vector3-center;Vector3-up;)实际上并没有声明它们中的每一个,这导致它尝试发送一些不存在的东西吗?PS:就像我说的,我对编程非常陌生,所以如果我不明白你想说什么,或者我缺少一个非常基本的东西,请告诉我,我正在努力自学,更难意识到我的错误。你是编程新手,直接从OpenGL开始?我首先建议尝试编写一些命令行实用程序。{}只是写默认构造函数的一种方法,你可以从我知道一些java的情况下,从今年学习到它,但是在C++中很少,但是谢谢你的信息,我希望能帮助我。
Camera(Vector3 eye, Vector3 center, Vector3 up);