SFML访问std :: vector内部的数组

时间:2019-10-24 15:52:09

标签: c++ sfml

在A类中,我有:

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 lines {{Vertex(100,100),Vertex(300,300)},...}; 对此:

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

但是它无法解决问题。正确的语法是什么?

1 个答案:

答案 0 :(得分:0)

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

相关问题