gpt4 book ai didi

c++ - 使用大括号括起来的初始化列表初始化结构 vector

转载 作者:可可西里 更新时间:2023-11-01 16:28:11 40 4
gpt4 key购买 nike

我像这样初始化普通类型的 vector :

vector<float> data = {0.0f, 0.0f};

但是当我使用结构而不是普通类型时

struct Vertex
{
float position[3];
float color[4];
};
vector<Vertex> data = {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f, 0.0f}};

我收到错误 could not convert '{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f, 0.0f}}' from '<brace-enclosed initializer list>' to 'std::vector<Vertex>' .这有什么问题吗?

最佳答案

缺少一组 {}:

std::vector<Vertex> data =
{ // for the vector
{ // for a Vertex
{0.0f, 0.0f, 0.0f}, // for array 'position'
{0.0f, 0.0f, 0.0f, 0.0f} // for array 'color'
},
{
{0.0f, 0.0f, 0.0f},
{0.0f, 0.0f, 0.0f, 0.0f}
}
};

关于c++ - 使用大括号括起来的初始化列表初始化结构 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355533/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com