Je reçois une erreur de liens lorsque vous utilisez le this
mot-clé:erreur LNK2001 - tout en utilisant le mot clé this
Erreur 1 erreur LNK2001: symbole externe non résolu "public: virtual void __thiscall gameobject :: update (void)" (? mise à jour @ gameobject @@ UAEXXZ) Main.obj Pong C++ Conversion
c'est le code
class GOBall: public GameObject
{
public:
static const GLint SIZE;
static const GLfloat MAX_SPEEDX;
static const GLfloat MAX_SPEEDY;
static const GLfloat DAMPING;
GLfloat velX;
GLfloat velY;
GLfloat startX;
GLfloat startY;
GOBall(GLfloat x, GLfloat y);
void update();
void reverseX(GLfloat center);
void reverseY();
void resetPosition();
};
const GLfloat GOBall::DAMPING = 0.05f;
const GLfloat GOBall::MAX_SPEEDX = 4;
const GLfloat GOBall::MAX_SPEEDY = 8;
const GLint GOBall::SIZE = 16;
GOBall::GOBall(GLfloat x, GLfloat y)
{
this->x = x;//The Error appeared after filling in this function
this->y = y;
this->sx = SIZE;
this->sy = SIZE;
startX = x;
startY = y;
velX = -MAX_SPEEDX;
velY = 0;
}
la variable x est dans la classe gameobject
class GameObject
{
protected:
GLfloat x, y,sx, sy;
public:
virtual void update();
void render();
GLfloat getX();
GLfloat getY();
GLfloat getSX();
GLfloat getSY();
GLfloat getCenterY();
};
Comme certaines personnes peuvent remarquer que j'ai essayé de recréer l'application Java Pong via ces tutoriels afin de mieux mes connaissances en OpenGL et C++ https://www.youtube.com/playlist?list=PL513808FE7D9A5D68
Et je sais qu'il ya probablement plus facile à mettre en œuvre ce jeu dans les fichiers header/cpp mais je suis confus sur l'en-tête de classe à inclure en premier, car il y a quatre classes GameObject
et ils ont des variables qui volent partout entre leurs instances
Ahh qui fonctionne, je tiens à vous remercier ... maintenant je veux savoir pourquoi c'est ... la mise à 0? ça donne du sens ... –
@Da_Boom cela signifie qu'il n'est pas implémenté et que vous ne pouvez pas instancier un 'GameObject' et que les sous-classes sont chargées de fournir l'implémentation –