如何在实现向量时使用C ++`size()`作为参数

时间:2016-05-26 02:52:50

标签: c++ class vector

正如标题所述,我需要使用size()函数调用作为不同函数的参数。这是我在这里要做的事情。作为STL的一部分,我试图使用reserve()函数来分配我需要的确切空间量。 我认为这将非常简单,但是当我编译时,我收到一条错误消息,指出: ./faculty.h:69:17: error: C++ requires a type specifier for all declarations void reserve (size());

有关如何解决此问题的任何想法?我不明白为什么这不符合我的想法。

2 个答案:

答案 0 :(得分:1)

您可以像

一样打电话
reserve(size());

但是函数的声明说明函数期望什么样的参数。它不是size(),而是size_t

试试这个,而不是

reserve(size_t allocSize);

你的代码不起作用,根本不是直截了当的。

答案 1 :(得分:0)

void reserve()的函数声明需要为其参数指定类型。例如,您的void push_back采用const Section&类型。您的声明不能将函数调用作为参数类型。