c++ - 在 sfml 的构造函数中初始化向量数组
问题描述
我将 SFML 库用于图形和其他东西,例如矢量。在我的大脑课上,我尝试做类似的事情:
class Brain{
Brain(int size){
Vector2f directions[size];
}
}
但它会抛出一个错误,说它必须评估为一个常数。我尝试了各种方法,但无法正确编译。任何人都知道为什么会发生这种情况,我该如何解决?
解决方案
正如 C++ 中的注释中所建议的,数组的大小必须在编译时知道......如果你需要动态容器,你可以使用std::vector
.
class Brain {
public:
Brain(int size) : _directions{size}
{
}
private:
vector<Vector2d> _directions;
};
不要忘记对您的班级的公共和私人访问...默认情况下,所有内容都private
在班级上,因此在您的代码段中班级的构造器是私有的!
推荐阅读
- jquery - jQuery focus() 在输入结束时设置焦点
- roblox - Roblox leaderstat 只更新一次
- bash - kubectl exec 适用于单个命令,但我无法输入 bash shell
- reactjs - React Native 表单验证方法
- c# - delete a DataTable row bound to a datagridview
- sql-server - SQL Server 中的联接和子查询
- multithreading - 为什么在这段代码中,await 不会阻塞 ui
- javascript - 如何使网页淡入淡出而不立即淡入(使用JQuery)
- python - 2D 数组的 median_absolute_deviation 抛出 AxisError: axis 1 is out of bounds for array of dimension 1
- python - 尝试从可选依赖项导入后出现 UnboundLocalError