如何在结构中声明类
How can I declare a class in my structure?
这是我的.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,我在C.中从未出现过这个错误
您的意思似乎是以下
typedef struct s_game_elements
{
playerBat playerOne;
playerBat playerTwo;
}
否则,在这个typedef声明中,结构有两个函数,而不是playerBat 类型的数据成员
typedef struct s_game_elements
{
playerBat playerOne(int, int);
playerBat playerTwo(int, int);
}
考虑到存在拼写错误
t_game_elements gameElements;
^^^
早期typedef声明中的typedef名称看起来像
s_game_elements
^^^
相关文章:
- 在哪里声明结构运算符重载
- 如何正确转发声明结构"using XXX"?
- 在C++我可以在不在本地声明结构的情况下将结构作为指针传递吗?
- 在 for 循环中声明结构是否合法C++?
- 为什么我们可以创建一个模板类结构,其中包含许多与声明结构时指定的参数不同的参数
- 当声明结构数组时,CPPCHECK停止对整个文件的分析
- C++ - 声明结构和类时不允许使用不完整的类型
- 在声明末尾或 main 中声明结构或类实例之间的区别
- 在模板类中声明结构,未为成员函数定义
- C++ .h 文件中转发声明结构,并在.cpp文件中定义结构
- 如何在C++中声明结构变量
- 在 C 中声明结构的新实例
- 在类内部声明结构
- 为什么可以用相同的名称声明结构和非结构
- 在结构定义内部声明结构的堆栈
- 为什么在声明结构时不能初始化结构中的向量成员?
- 在c++头文件中声明结构体
- 如何声明结构体?
- c++中声明结构体的问题
- 只在库cpp中有定义的前向声明结构