Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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在.h文件中声明arrayList 我对C++很陌生,我对java有了更多的了解。但是我想做的是创建一个空的arrayList,它可以被我的所有其他函数使用_C++_Arraylist - Fatal编程技术网

C在.h文件中声明arrayList 我对C++很陌生,我对java有了更多的了解。但是我想做的是创建一个空的arrayList,它可以被我的所有其他函数使用

C在.h文件中声明arrayList 我对C++很陌生,我对java有了更多的了解。但是我想做的是创建一个空的arrayList,它可以被我的所有其他函数使用,c++,arraylist,C++,Arraylist,在我的.h文件中,我创建了一个新类,其中包含2个结构和大约6个方法。这些方法都使用结构对象的ArrayList,但我不想将ArrayList作为参数传入。我试图做的事情与Java中在类中创建字段时类似 问题是当我在.h文件中这样声明arrayList时 structObject * myArrayList = new structObject[0]; int ARRAY_SIZE = arrayList.size; 我遇到了一系列错误,包括不能在常量中声明新的 我应该在哪里声明我的空array

在我的.h文件中,我创建了一个新类,其中包含2个结构和大约6个方法。这些方法都使用结构对象的ArrayList,但我不想将ArrayList作为参数传入。我试图做的事情与Java中在类中创建字段时类似

问题是当我在.h文件中这样声明arrayList时

structObject * myArrayList = new structObject[0];
int ARRAY_SIZE = arrayList.size;
我遇到了一系列错误,包括不能在常量中声明新的

我应该在哪里声明我的空arraylist?
在C++中是否允许这样?

< p>没有在C++中内置的一个ARARYLAMP类。查看
std::vector
类。

您试图将定义放入头文件中。这是不允许的。只能将声明放在头文件中

标题中的声明:

structObject* myArrayList;
#define ARRAY_SIZE 100
源文件中的定义:

myArrayList = new structObject[ARRAY_SIZE];
然而,全局变量几乎总是一个坏主意。我会找到一种方法将数组作为参数传递给必要的函数。您还应该查看标准模板库和不同的容器

一种选择:

std::vector<structObject> myArrayList;
std::vector myArrayList;

可以放入头文件,构造函数将执行必要的初始化。

C++中没有<代码> ARARYLIST/<代码>类(除非您自己编写过)。与java的<>代码> ARARYLIST/COD>最相似的C++类是 STD::vector < /C>。张贴实际代码。