C ++:两个类互相使用

时间:2016-10-19 15:02:06

标签: c++ class

我有两个类,Camera和Pixel。相机具有像素矢量(2D阵列),Pixel使用相机中的静态成员函数。

在我的Camera文件中,我在声明Camera类之前包含了我的Pixel.hpp标头,因此编译器转到Pixel.hpp文件,读取它并在找到对静态成员函数的调用时停止说:

src/../hdr/Pixel.hpp: In member function ‘void Pixel::ComputeVector()’:
src/../hdr/Pixel.hpp:32:26: error: ‘Camera’ has not been declared
 Vect2   screenSize = Camera::Instance().GetScreenSize();

我在声明Pixel类之前尝试做了Camera的前向声明,但它说:

src/../hdr/Pixel.hpp: In member function ‘void Pixel::ComputeVector()’:
src/../hdr/Pixel.hpp:33:26: error: incomplete type ‘Camera’ used in nested name specifier
 Vect2   screenSize = Camera::Instance().GetScreenSize();

有时候它会将前方声明视为错误......

我不知道该怎么做,希望你能帮我解决这个问题,谢谢你的关注

0 个答案:

没有答案