【问题标题】:Passing vector with unknown size to function将未知大小的向量传递给函数
【发布时间】:2018-12-01 21:07:51
【问题描述】:

我想将向量传递给函数。 向量可能如下:

vector<array<int, 1>>& b1
vector<array<int, 2>>& b1
vector<array<int, 3>>& b1
vector<array<int, 4>>& b1

我将以下语句写入头文件

ExportIBigEndian(string file_i, vector<array<int, >>& b1)

但它不起作用。欢迎提出任何建议。

【问题讨论】:

  • 为什么需要数组向量?
  • @tkausl 我解释的原因是在 Brucher 回答的评论中

标签: c++ function vector


【解决方案1】:

您不能将所有类型数组的向量传递给“简单”函数,您也必须将其设为模板:

template<int size>
ExportIBigEndian(string file_i, vector<array<int, size>>& b1)

那么问题是在这种情况下为什么不是向量的向量呢?

【讨论】:

  • 非常感谢。原因是程序的某些部分是由我的高级同事编写的。他们使用数组的向量。有什么区别吗?还是使用数组的向量有一些缺点?
  • 它的优点是直接使用时不是动态分配,在这里,不是真正的优点,并且缺点是每个尺寸都有不同的类型。
猜你喜欢
  • 1970-01-01
  • 2012-04-27
  • 2022-11-05
  • 2011-05-06
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
相关资源
最近更新 更多