首页 > 解决方案 > 在 sfml 的构造函数中初始化向量数组

问题描述

我将 SFML 库用于图形和其他东西,例如矢量。在我的大脑课上,我尝试做类似的事情:

class Brain{

Brain(int size){
Vector2f directions[size];
}
}

但它会抛出一个错误,说它必须评估为一个常数。我尝试了各种方法,但无法正确编译。任何人都知道为什么会发生这种情况,我该如何解决?

标签: c++vectorconstructorsfml

解决方案


正如 C++ 中的注释中所建议的,数组的大小必须在编译时知道......如果你需要动态容器,你可以使用std::vector.

class Brain {
public:
    Brain(int size) : _directions{size}
    {
    }

private:
    vector<Vector2d> _directions;
};

不要忘记对您的班级的公共和私人访问...默认情况下,所有内容都private在班级上,因此在您的代码段中班级的构造器是私有的!


推荐阅读