我试图通过调用相应的函数totalVectorSize(myVector)
来显示向量的大小。
我得到"无法将向量转换为整数"错误,我做错了什么?
声明
vector<int> myVector;
int totalVectorSize(myVector);
main()的
int main() {
int vectorSize=5;
cout << "Enter " << vectorSize <<" integers: " << endl;
int Vector,i;
我在这里填写矢量:
for (i=0; i<vectorSize; i++){
cin >> Vector;
myVector.push_back(Vector);
}
我想通过调用totalVectorSize(myVector)
函数来显示向量的大小。
int total;
total = totalVectorSize(myVector);
cout << total;
}
totalVectorSize(myVector)
功能是:
int totalVectorSize(myVector){
cout << "Total number of elements in this vector is " << myVector.size();
return total
}
答案 0 :(得分:2)
你可以这样做:
int total = myVector.size();
如果您还需要显示尺寸(并且您仍然希望使用此功能 - 出于学习目的,我猜),您必须修复您的功能:
// declaration:
int totalVectorSize(const vector<int>& vec);
// implementation:
int totalVectorSize(const vector<int>& vec) {
int vecSize = vec.size();
cout << "Total number of elements in this vector is " << vecSize;
return vecSize;
}
我添加了通过const引用传递矢量,因为不需要复制整个矢量只是为了获得它的大小。
此外,在此示例中,int
不是用于存储大小的最佳类型,但我们暂时将其留在此处。