Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用C++`size()`作为实现向量时的函数参数_C++_Class_Vector - Fatal编程技术网

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

C++ 如何使用C++`size()`作为实现向量时的函数参数,c++,class,vector,C++,Class,Vector,正如标题所述,我需要使用size()函数调用作为另一个函数的参数。这就是我在这里要做的。作为STL的一部分,我尝试使用reserve()函数来分配所需的确切空间量。 我认为这将是非常简单的,但当我编译时,会收到一条错误消息,说明: ./Curr.H:69:17:错误:C++需要所有声明的类型说明符 空位保留(大小()) 有没有办法解决这个问题?我不明白为什么它不能像我想的那样工作 你可以像这样打电话 reserve(size()); 但是函数的声明说明了函数所期望的参数类型。它不是size(

正如标题所述,我需要使用
size()
函数调用作为另一个函数的参数。这就是我在这里要做的。作为STL的一部分,我尝试使用
reserve()
函数来分配所需的确切空间量。 我认为这将是非常简单的,但当我编译时,会收到一条错误消息,说明: <代码> ./Curr.H:69:17:错误:C++需要所有声明的类型说明符 空位保留(大小())

有没有办法解决这个问题?我不明白为什么它不能像我想的那样工作

你可以像这样打电话

reserve(size());
但是函数的声明说明了函数所期望的参数类型。它不是size(),而是size\t

试试这个

reserve(size_t allocSize);

您的代码将无法工作,而且一点也不简单。

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

恐怕我完全不明白您想用这行代码做什么。我认为“使用size函数调用作为另一个函数的参数”意味着调用
reserve(size())。我不知道在这种情况下它意味着什么。
:名称(名称)、保留(sections.size(maxSections))、sections.size(maxSections)
都是胡说八道。。。只能为对象提供初始值设定项,但
reserve
是一个函数和
节。size
不是成员
void reserve(size())既不是函数声明,也不是函数调用。要声明函数,
void reserve(size\u t size)