如何将矢量大小称为函数?

时间:2016-10-22 23:32:38

标签: c++ vector

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

1 个答案:

答案 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不是用于存储大小的最佳类型,但我们暂时将其留在此处。