我有两个类,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();
有时候它会将前方声明视为错误......
我不知道该怎么做,希望你能帮我解决这个问题,谢谢你的关注