SFML 访问 std::vector 内的数组

SFML accessing array inside std::vector

在class中我有:

class A{
A(){};
 std::vector<sf::Vertex[2]> lines{ 5 };
};

而且我不知何故需要访问 std::vector 中所有线对象的 sf::Vertex 0 和 1。 SFML 文档在行中声明:

sf::Vertex line[] =
{
sf::Vertex(sf::Vector2f(10, 10)),
sf::Vertex(sf::Vector2f(150, 150))  
};

我尝试了很多东西,但语法就是不行,来自:

std::vector行{{顶点(100,100),顶点(300,300)},...}; 对此:

A(){
lines[0]->sf::Vertex[0] = (100,100);
...};

但就是行不通。正确的语法是什么?

数组不是向量(或任何其他标准容器)的有效元素类型。它不满足可擦除的要求。您可以改为使用将数组作为成员的 class。标准库有一个用于此类数组包装器的模板:std::vector<std::array<sf::Vertex, 2>>.