【发布时间】:2015-11-14 18:35:00
【问题描述】:
我目前正在尝试创建一个包含浮点数组的向量。我的日子不好过。
我有以下代码:
float testArray[4] = {20, -3.14/2, 5, -3.14/2};
std::vector<float[4]> inputVector;
std::vector<float[4]>::iterator it = inputVector.begin();
inputVector.insert(it, testArray);
我不断收到错误消息,说“数组必须使用大括号括起来的初始化程序进行初始化”和“无效的数组分配”。我用整数向量(而不是数组向量)尝试了相同的代码,没有任何问题。
我认为存在一个我不理解的潜在问题。
感谢任何帮助!
【问题讨论】:
-
数组不能用普通的复制语义复制(或从 C++11 开始移动),并且向量要求存储的数据类型是。参见例如this
std::vectorreference.