gpt4 book ai didi

c++ - double vector push_back 数组

转载 作者:行者123 更新时间:2023-11-28 00:03:03 26 4
gpt4 key购买 nike

所以我得到了 double 多维数组的 vector 。 vector 是用这段代码创建的

std::vector<std::array<double, 3>> matrix;

在此之后, vector 将填充点的 xy 坐标和其他信息,并进行排序。这是必需的,因此我成为给定二维模型的外形。要关闭模型的外部形状,我必须将第一个点的信息复制到 vector 的末尾。我知道,如果我有一个 vector 的 vector ,我可以使用这样的代码。

matrix.push_back(std::vector<double>(3, 0));
int p = matrix.size()-1;
matrix[p][0]=matrix[0][0];
matrix[p][1]=matrix[0][1];
matrix[p][2]=matrix[0][2];

因为我使用的是数组 vector ,所以这似乎是错误的。我尝试使用稍微修改过的这段代码。

matrix.push_back(std::array<double, 3>);

但是这里我得到了错误信息:

class: std::array Error: type name is not allowed

我正在使用 VisualStudio 2012。有人可以告诉我,我做错了什么吗?

最佳答案

A std::array 是可复制的,所以如果你想将第一项复制到末尾,只需说:

matrix.push_back(matrix[0]);

至于为什么会出现错误,这是因为您将类型的名称传递给 push_back 而不是对象。

关于c++ - double vector push_back 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477598/

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