C ++构造函数:数字常量

时间:2016-06-14 19:00:07

标签: c++

我正在尝试使用SDL用c ++编写游戏,但我遇到了一个问题。 我有一个Bat类和一个Game类。 当我尝试创建一个bat对象并调用构造函数时,我收到以下错误:

  

“错误:数字常量之前的预期标识符”

以下是源文件:

Game.h

#ifndef GAME_H
#define GAME_H

#include "SDL.h"
#include "Bat.h"

class Game
{
    public:
        Game();
        Bat bat(0, 0);
    private:
};

#endif // GAME_H

Bat.h

#ifndef BAT_H
#define BAT_H

class Bat
{
    public:
        Bat(int x, int y);
        int getX() {return x;}
        int getY() {return y;}
    private:
        int x, y;
};

#endif // BAT_H

Bat.cpp

#include "Bat.h"

Bat::Bat(int x, int y)
{
}

2 个答案:

答案 0 :(得分:2)

你的意思是写

class Game
{
    public:
        Game() : bat(0, 0) {} // <<< or move that definition to your .cpp file
    private:
        Bat bat; // << you can't initialize the member here.
};

...

答案 1 :(得分:1)

如果您尝试创建使用bat初始化的成员变量0,0,请尝试以下操作:

class Game
{
    public:
        Game();

    private:
        Bat bat;
};

Game::Game() : bat(0, 0){
}