gpt4 book ai didi

c++ - 为什么我不能像这样淡化 std::array?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:20:52 26 4
gpt4 key购买 nike

<分区>

为什么我不能像这样淡化 std::array?

#include <array>

struct Point
{
float x;
float y;
};

int main()
{
std::array<Point, 3> m_points {
{ 1.0f, 1.0f },
{ 2.0f, 2.0f },
{ 3.0f, 3.0f }
};
}

这样做我得到错误:

error: too many initializers for std::array<Point, 3ul>

但它是这样工作的:

std::array<Point, 3> m_points { 
Point{ 1.0f, 1.0f },
Point{ 2.0f, 2.0f },
Point{ 3.0f, 3.0f }
};

对比std::map可以用下面两种方式初始化:

   std::map<int, int> m1 {std::pair<int, int>{1,2}, std::pair<int, int>{3,4}}; 
std::map<int, int> m2 {{1,2}, {3,4}};

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