我读了这篇文章:向量持有两种不同的数据类型
然后我尝试使用这种格式。
我在这篇文章中看到有两种方法可以做到这一点:
就我而言:
一种) std::vector<std::pair<Vecplane3d, CartesianPoint>> vector_super;
乙) std::vector<std::tuple<Vecplane3d, CartesianPoint>> vector_super;
但是当我想填充这个向量时。我做不到。
我这样编码:
vector_centroids.push_back(vec_normal, vec_centroid);
我以其他方式编码:
vector_centroids.insert(vec_normal, vec_centroid);
抱歉,我正在寻找有关此的文档,但没有找到任何内容。
您正在操作一对/元组的向量,即使它聚合了两个值,它仍然是 std::vector 的一个元素。这就是为什么你必须给你的向量一对或一个包含两个聚合对象的元组:
vector_centroids.push_back({vec_normal, vec_centroid}); //pair
如果您使用元组,请执行以下操作:
vector_centroids.push_back(std::make_tuple(vec_normal, vec_centroid)); //tuple
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句