我是C ++的新手,我正在尝试制作一个简单的游戏引擎。我正在尝试制作一个游戏对象和组件系统。
我有所有对象的基类,并且试图将对象的所有子级存储在类内的数组中。但是当我试图在类中创建类数组时出现错误。
class Object {
public:
Object children[]; //This is where I get the error
};
有没有办法做到这一点?如果没有,如何解决此问题?
Object children[]
是固定大小的数组。对于这些类型的数组,需要在编译时知道其大小,否则IDE将标记一个错误(编译器可能会忽略它,因为其大小为0,但会发出警告)。
Object children[some_amount]
直到成为不完整的类型,您都不能这样做。因此,您的选择是使用可动态调整大小的数组。
为此,C ++标准库以的名义提供了一个极好的选择std::vector
。要使用此文件,您必须包含vector
头文件。使用它的方法很简单,您可以通过以下方式使用它:std::vector<Object> children;
并且可以在运行时使用std::vector<>::push_back()
函数添加元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句