如何调用向量大小作为一个函数

How to call vector size as a function?

本文关键字:一个 函数 何调用 调用 向量      更新时间:2023-10-16

我试图通过调用相应的函数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
}

你可以这样做:

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引用传递vector,因为不需要复制整个vector来获取它的大小。

同样,int不是本例中用于存储大小的最佳类型,但我们现在就把它放在这里。