有没有一种简单的方法可以在对象向量上调用构造函数?
Is there a simple way to call a constructor on a vector of objects?
我正在使用SFML在C++中编写一个小项目,遇到了一个问题。我想画几行,我想在运行程序时更改它们的数量(我想要最多 50 行(。所以我想,我会使用 std::vector,但我需要在每个行对象上调用非默认构造函数,我找不到比循环更简单的方法(我什至不知道我是否应该这样做无论如何(。我试过这个:
std::vector<sf::VertexArray> lines(50, sf::VertexArray(2, sf::Lines));
但它不起作用。(我可能错了,直到 11 C++才发生? 我问如何做这样的事情(也在调整矢量大小时(,或者我应该找到另一种存储这些行的方法?我正在使用 sf::VertexArray,因为我真的需要一条描述为 2 点的线,而不是矩形。
根据文档:
https://www.sfml-dev.org/documentation/2.5.1/classsf_1_1VertexArray.php#a4bb1c29a0e3354a035075899d84f02f9
VertexArray 的构造函数如下所示:
sf::VertexArray::VertexArray ( PrimitiveType type,
std::size_t vertexCount = 0
)
所以第一个参数应该是基元类型,第二个参数是计数。你反过来也有它。所以改变:
std::vector<sf::VertexArray> lines(50, sf::VertexArray(2, sf::Lines));
自:
std::vector<sf::VertexArray> lines(50, sf::VertexArray(sf::Lines, 2));
否则,您的代码看起来不错。
相关文章:
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- 从多个源构造一个对象,包括一个对象向量
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 对象 C++ 向量的 STL 容器
- 初始化C++中的对象向量
- 从自定义类获取对象向量中的 max 元素
- 如何在 c++ 中打印存档中的对象向量
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- 尝试重载输出运算符时,我无法遍历对象向量
- 如何在C++中打印对象向量的内容
- 打印出对象向量中的每个元素C++
- 在 c++ 的构造函数中分配对象向量时出错
- 遍历对象向量,并找到与从文本文件中提取的对象匹配的变量
- 对象向量是否在堆或堆栈上分配C++?
- 基于不同字段的对象向量的排序功能
- 有没有一种简单的方法可以在对象向量上调用构造函数?
- 用rapidjson读取子对象向量
- 尝试使用比较运算符对对象向量进行排序
- 如何用对象向量重载 cin(>>)
- 如何将某个元素从shared_ptr擦除到对象向量?