gpt4 book ai didi

c++ - 将 Point vector 和 int vector 保存在一个数组的结构中

转载 作者:行者123 更新时间:2023-11-30 03:44:20 24 4
gpt4 key购买 nike

我必须遵循 Point 和 int 类型的结构,

struct PointValue{ Point p; int c; };

在下面的代码中,我可以手动保存点数和值。

PointValue const data[] =
{
{ { 19, 187 }, 119 },
{ { 20, 21 }, 255 },
{ { 20, 92 }, 255 },
{ { 22, 190 }, 39 },
{ { 23, 184 }, 39 },
}

但是……我想从 vector 中获取点和值并放入变量数据中。

已编辑......

例如
我有vector <Point> ptsvector <int> ptsVal;我想将所有点及其对应的值保留到一个数组中,就像上面示例中的数据一样。

但是,我做了这个小测试

PointValue const data[5] {};
for (int i = 0; i < pts.size(); i++) {
data { { {pts[i].y, pts[i].x}, ptsVal[i]} };
}

错误: error C2064: term 不计算为带 1 个参数的函数

没有得到这个错误。
任何人都可以帮我清除它。

最佳答案

试试这个:

std::vector<Point> pts;
std::vector<int> ptsVal;

std::vector<PointValue> data;
data.reserve(pts.size());
for (int i = 0; i < (int)pts.size(); ++i)
data.push_back({pts[i], ptsVal[i] });

或者,如果您更喜欢数组而不是 vector :

struct PointValue data[2];
for (int i = 0; i < 2; ++i)
data[i] = {pts[i], ptsVal[i]};

关于c++ - 将 Point vector 和 int vector 保存在一个数组的结构中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35552551/

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