gpt4 book ai didi

c++ - 不完整的类型不允许错误

转载 作者:行者123 更新时间:2023-11-30 02:59:10 28 4
gpt4 key购买 nike

我创建了一个使用 openGL 显示标签 (GameLabel) 的类,我遇到了 2 个我无法解决的非常奇怪的错误。

错误 C2079:“displayPlayer”使用未定义的类“GameLabel”智能感知:不允许不完整的类型

这是我的代码;

Game.cpp中调用标签类的函数

void Game::draw(SDL_Window *window)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear window

// draw player
glColor3f(1.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex3f (xpos, ypos, 0.0); // first corner
glVertex3f (xpos+xsize, ypos, 0.0); // second corner
glVertex3f (xpos+xsize, ypos+ysize, 0.0); // third corner
glVertex3f (xpos, ypos+ysize, 0.0); // fourth corner
glEnd();
GameLabel displayPlayer = new GameLabel(xpos+(xsize/2.0f), ypos+ysize, "Player");
//The ablove line is the one flagging the errors.

现在是 GameLabel.h。

#include <SDL_ttf.h>
#include <GL/glew.h>
#include <string>
#include "Game.h"
class GameLabel
{
public:
GameLabel(float fx, float fy, char stri);
~GameLabel(void);
void textToTexture(const char * str, SDL_Surface* stringImage);
void draw(SDL_Surface* stringImage);
friend class Game;

protected:
SDL_Surface stringImage;
private:
GLuint texID;
GLuint height;
GLuint width;
GLfloat x;
GLfloat y;
char str;
};

最后是 GameLabel.cpp 构造函数

GameLabel::GameLabel(float fx, float fy, char stri)
{
x = fx;
y = fy;
str = stri;

}

最佳答案

会不会是循环依赖? GameLabel 包含 game.h.. 并且 game 似乎也依赖于 gamelabel,Game.h 是否包含 gamelabel.h?

关于c++ - 不完整的类型不允许错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169785/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com