对向量中的值进行平方
Squaring values in a vector
本文关键字:向量 更新时间:2023-10-16
我被要求创建一个函数,该函数调用一个函数void square(vector<int> &v)
该函数对向量中的每个整数进行平方v
。这是我所拥有的,但我不断收到编译器错误。任何帮助将不胜感激
#include<iostream>
#include<vector>
#include<string>
using namespace std;
void square(vector<int> &v)
{
for(int i=0; i<v.size(); i++){
v = v[i]*v[i];
}
}
这是我的合成错误:
'void square(std::vector<int>&)':
editor.cpp:11:13: error: no match for 'operator=' in 'v = ((& v)->std::vector<_Tp, _Alloc>::operator[]<int, std::allocator<int> >(((std::vector<int>::size_type)i)) * (& v)->std::vector<_Tp, _Alloc>::operator[]<int, std::allocator<int> >(((std::vector<int>::size_type)i)))'
editor.cpp:11:13: note: candidate is:
In file included from /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../include/c++/4.7.1/vector:70:0,
from editor.cpp:3:
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../include/c++/4.7.1/bits/vector.tcc:161:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../include/c++/4.7.1/bits/vector.tcc:161:5: note: no known conversion for argument 1 from 'int' to 'const std::vector<int>&'
- 您正在尝试将整数分配给向量。
-
size
是一个类方法,应称为v.size()
这是一个有效的代码:
void square(vector<int> &v)
{
for(int i=0; i<v.size(); i++){
v[i] = v[i]*v[i];
}
}
我认为问题就在这里:
i<v.size
size
是std::vector
中的成员函数,而不是字段。 尝试将表达式更改为读取
i < v.size()
希望这有帮助!
实际上你需要纠正这两个问题:
v.尺寸
应该是
v.size()
并且重新分配应该是
v[i] = v[i]*v[i];
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 计算排序向量的向量中唯一值的计数
- 矩阵向量乘法(cublasDgemv)返回零
- 一对向量构造函数:初始值设定项列表与显式构造
- 将结构向量排序为子组
- 在C++中调整向量中的索引
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么