Это мой .hppКак объявить класс в моей структуре?
class playerBat
{
public:
playerBat(int x, int y);
sf::RectangleShape *getShape();
void setShape(sf::RectangleShape *Shape);
private:
sf::RectangleShape shapeBat;
};
typedef struct s_game_elements
{
playerBat playerOne(int, int);
playerBat playerTwo(int, int);
} t_game_elements;
И это, как я его инициализацию:
t_game_elements gameElements;
playerBat playerBatOne(0, 200);
playerBat playerBatTwo(790, 200);
gameElements.playerOne = playerBatOne;
gameElements.playerTwo = playerBatTwo;
Но составитель говорит:
src/main.cpp:14:18: error: reference to non-static member function must be called gameElements.playerOne = playerBatOne;
Что я сделал не так? Извините, если это что-то очень очевидно, но я начал изучать CPP недавно, и я никогда не имел эту ошибку в С.
'playerOne' является функцией. Вы пытаетесь назначить функцию. Избавьтесь от параметров '(int, int)', если вы просто хотите переменную (т. Е. 'PlayerBat playerOne;'). – Cornstalks
Я пытаюсь назначить моей структуре класс playerBat, так что я делаю неправильно? –
@Cornstalks У меня есть ошибка 'no matching constructor для инициализации 't_game_elements' (aka 's_game_elements')', если я это сделаю, как я могу ее исправить? –