如何在实现vector时使用C++"size()"作为函数的参数

How to use C++ `size()` as parameter to function when implementing vector

本文关键字:quot 函数 参数 size vector C++ 实现      更新时间:2023-10-16

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

关于如何解决这个问题有什么想法吗?我不明白为什么这不能像我想的那样起作用。

您可以像一样调用

reserve(size());

但是函数的声明说明了函数期望的参数类型。它不是size(),而是size_t

试试这个,而不是

reserve(size_t allocSize);

您的代码将不起作用,而且它一点也不简单。。

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