如何在 C++ 中将浮点数组添加到浮点向量
how to add a float array to a float vector in c++
问题来了。我有一个名为 vec 的浮点矢量:
std::vector<float> vec {1.1,2.2};
现在还有一个浮点数组叫,arr:
float arr[]={3.3 4.4 5.5};
所以问题是如何将数组添加到向量中,以便在最后我们得到 {1.1 2.2 3.3 4.4 5.5} 一个更长的浮点向量。
我试过了,
vec.insert(vec.begin(), arr,arr+3);
但是编译器给出了一个以
开头的长错误
"error: no match in operator + in arr+3"
类似的东西对我有用:
std::vector<float> vec {1.1, 2.2};
float arr[] = {3.3, 4.4, 5.5};
vec.insert(vec.end(), arr, arr+3);
我猜你犯了一些简单的错误,例如:
- 您忘记用逗号分隔浮点数组中的值。在问题中,它们仅由空格分隔,实际上 arr 未成功声明,您会收到错误消息。
- 如果你想在最后添加你的值,你必须 vec.insert(vec.end(),...)。第一个参数是迭代器,您的范围将被插入到该迭代器之前。
问题来了。我有一个名为 vec 的浮点矢量:
std::vector<float> vec {1.1,2.2};
现在还有一个浮点数组叫,arr:
float arr[]={3.3 4.4 5.5};
所以问题是如何将数组添加到向量中,以便在最后我们得到 {1.1 2.2 3.3 4.4 5.5} 一个更长的浮点向量。
我试过了,
vec.insert(vec.begin(), arr,arr+3);
但是编译器给出了一个以
开头的长错误"error: no match in operator + in arr+3"
类似的东西对我有用:
std::vector<float> vec {1.1, 2.2};
float arr[] = {3.3, 4.4, 5.5};
vec.insert(vec.end(), arr, arr+3);
我猜你犯了一些简单的错误,例如:
- 您忘记用逗号分隔浮点数组中的值。在问题中,它们仅由空格分隔,实际上 arr 未成功声明,您会收到错误消息。
- 如果你想在最后添加你的值,你必须 vec.insert(vec.end(),...)。第一个参数是迭代器,您的范围将被插入到该迭代器之前。