Я получаю следующие ошибки в моем коде:
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h||In constructor 'deathBlock::deathBlock(GLuint*, float, float, float, float, float, float, float, float)':|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before '*' token|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before ',' token|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected primary-expression before 'float'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|9|error: expected '{' at end of input|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\deathBlock.cpp|3|error: redefinition of 'deathBlock::deathBlock(GLuint*, float, float, float, float, float, float, float, float)'|
C:\Users\Samuel\Desktop\Transfer\projects\test\My_Game\src\..\include\deathBlock.h|8|error: 'deathBlock::deathBlock(GLuint*, float, float, float, float, float, float, float, float)' previously defined here|
||=== Build finished: 13 errors, 0 warnings (0 minutes, 0 seconds) ===|
Я пытаюсь, чтобы подкласс запустил конструктор суперкласса при его создании, мой код выглядит следующим образом:
Конструктор суперкласса:
Block::Block (GLuint *Tex, float x, float y,float texx,float texy,float texw,float texh,float w,float h) {
tex = Tex;
Setmx (x);
setsxw(w);
setsyw(h);
tx=texx;
ty=texy;
tw=texw+tx;
th=texh+ty;
Setmy (y);
setsx (x + Getxoffset() );
setsy (y+Getyoffset());
}
и заголовок суперкласса:
#ifndef BLOCK_H
#define BLOCK_H
#include "../include/MapObject.h"#include <GL/glfw.h>
class Block: public MapObject {
public:
Block(GLuint *, float x, float y,float,float,float,float,float,float);
virtual ~Block();
void render();
virtual void onIntersect();
protected:
private:
float tx,ty,tw,th;
GLuint * tex;
};
#endif // BLOCK_H
Конструктор подкласса:
deathBlock::deathBlock(GLuint *Tex, float x, float y,float texx,float texy,float texw,float texh,float w,float h)
:Block(GLuint *Tex, float x, float y,float texx,float texy,float texw,float texh,float w,float h);
{
//ctor
}
Заголовок подкласса:
#ifndef DEATHBLOCK_H
#define DEATHBLOCK_H
#include <GL/glfw.h>
#include "../include/Block.h"class deathBlock:public Block
{
public:
deathBlock(GLuint *Tex, float x, float y,float texx,float texy,float texw,float texh,float w,float h);
virtual ~deathBlock();
protected:
private:
};
#endif // DEATHBLOCK_H
Кроме того, кто-то может указать мне, как использовать поисковую систему для поиска специальных символов? Это потому, что все, что я попробовал, не позволяют этого, и это делает чрезвычайно трудным найти соответствующую информацию.
РЕДАКТИРОВАТЬ:
Это было чрезвычайно глупо с моей стороны, так как я только что скопировал параметры конструктора прямо в инициализатор, что вызвало мою ошибку.
GLunit
определяется в #include <GL/gl.h>
, Вы должны включить этот заголовок, прежде чем пытаться использовать тип.
Более конкретно, так как вы используете glfw.h
проверьте свои определения, чтобы убедиться, что gl.h
включается (например, GLFW_INCLUDE_NONE
не определяется) так что typedef
вводится.
Других решений пока нет …