我正在尝试使用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)
{
}
答案 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){
}