1

コードで次のエラーが発生します。

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

さらに、誰かが検索エンジンを使用して特殊文字を検索する方法を教えてもらえますか? これは、私が試したすべてのものでこれが許可されておらず、関連する情報を見つけることが非常に困難になっているためです.

編集:

コンストラクターのパラメーターをイニシャライザーに直接コピーしたところ、エラーが発生したため、これは非常に愚かでした。

4

1 に答える 1